- 24 Oct, 2017 1 commit
-
-
Sergei Golubchik authored
-
- 23 Oct, 2017 3 commits
-
-
Vladislav Vaintroub authored
-
Sergei Petrunia authored
-
Sergei Petrunia authored
Fix a failure in rocksdb_rpl.rpl_rocksdb_2pc_crash_recover test. Don't do XA with binlog if @@rocksdb_enable_2pc=OFF.
-
- 22 Oct, 2017 2 commits
-
-
Sergei Golubchik authored
gcc 5.4 and 7.1, Debug and Release builds
-
Sergei Golubchik authored
-
- 20 Oct, 2017 2 commits
-
-
Sergei Petrunia authored
-
Sergei Petrunia authored
-
- 18 Oct, 2017 16 commits
-
-
Sergei Golubchik authored
remove remnants of 10.0 bugfix, incorrectly merged into 10.2 Using col_names[i] was obviously, wrong, must've been col_names[ifield->col_no]. incorrect column name resulted in innodb having index unique_id2(id1), while the server thought it's unique_id2(id4). But col_names[ifield->col_no] is wrong too, because `table` has non-renamed columns, so the correct column name is always dict_table_get_col_name(table, ifield->col_no)
-
Sergei Golubchik authored
$WSREP_SST_OPT_CONF already includes --defaults-extra-file= prefix.
-
Sergei Golubchik authored
-
Sergei Golubchik authored
allow to build with the default port number 3306. Now -DMYSQL_TCP_PORT=# sets the default port name and -DMYSQL_TCP_PORT_DEFAULT=# sets the magic port=0 behavior, if it's MYSQL_TCP_PORT_DEFAULT=0 it's enabled, otherwise - disabled.
-
Sergei Golubchik authored
Use mariadb_config, for C/C config variables
-
Marko Mäkelä authored
MDEV-13918 Race condition between INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS and ALTER/DROP/TRUNCATE TABLE i_s_sys_tables_fill_table_stats(): Acquire dict_operation_lock S-latch before acquiring dict_sys->mutex, to prevent the table from being removed from the data dictionary cache and from being freed while i_s_dict_fill_sys_tablestats() is accessing the table handle.
-
Michael Widenius authored
-
Sergei Golubchik authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Darshan M N authored
Issue ===== The original issue was that the size of a fil_per_table tablespace was calculated incorrectly during truncate in the presence of an fts index. This incorrect calculation was fixed as part of BUG#25053705 along with a testcase to reproduce the bug. The assert that was added as part of it to reproduce the bug was wrong and resulted in this bug. Fix === Although the assert was removed earlier in a seperate commit as it was blocking the ntest, this patch replaces the other parts of the code that were added to reproduce the bug and replaces it with code that tries to reproduce the bug in a different way. The new code basically tries to tweak conditions so as to simulate the random read where a page that doesn't exist is tried to be read. RB: 15890 Reviewed-by: Jimmy Yang <Jimmy.Yang@oracle.com> Reviewed-by: Satya Bodapati <satya.bodapati@oracle.com>
-
Marko Mäkelä authored
The ownership of the field query->intersection usually transfers to query->doc_ids. In some error scenario, it could be possible that fts_query_free() would be invoked with query->intersection!=NULL. Let us handle that case, instead of intentionally crashing the server.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
MySQL 5.7 added code to push down the LIMIT to fulltext search in InnoDB: commit 2cd0ebf97e1b265e2282d7ceb5d8dfb663ffc48f Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com> Date: Fri May 27 13:49:28 2016 +0530 Bug #22709692 FTS QUERY EXCEEDS RESULT CACHE LIMIT The code was disabled when MySQL 5.7.9 was merged to MariaDB 10.2.2. We shall remove the disabled code and unnecessary variables.
-
Marko Mäkelä authored
In MariaDB, InnoDB fulltext search does not currently truncate results based on LIMIT. In MySQL 5.7, it does.
-
Marko Mäkelä authored
MDEV-14086 Setting innodb_buffer_pool_load_now or innodb_buffer_load_abort will crash if innodb_read_only When MySQL 5.6.10 introduced innodb_read_only mode, it skipped the creation of the InnoDB buffer pool dump/restore subsystem in that mode. Attempts to set the variable innodb_buf_pool_dump_now would have no effect in innodb_read_only mode, but the corresponding condition was forgotten in from the other two update functions. MySQL 5.7.20 would fix the innodb_buffer_pool_load_now, but not innodb_buffer_pool_load_abort. Let us fix both in MariaDB.
-
- 17 Oct, 2017 11 commits
-
-
Vicențiu Ciorbaru authored
-
Sergei Petrunia authored
Port the previous patch: - Implement MariaDB's Group Commit API. This is a first attempt which lacks the expected performance. To newer MariaDB (which includes newer MyRocks)
-
Sergei Golubchik authored
based on: commit f7316aa0 Author: Ajo Robert <ajo.robert@oracle.com> Date: Thu Aug 24 17:03:21 2017 +0530 Bug#26361149 MYSQL SERVER CRASHES AT: COL IN(IFNULL(CONST, COL), NAME_CONST('NAME', NULL)) Backport of Bug#19143243 fix. NAME_CONST item can return NULL_ITEM type in case of incorrect arguments. NULL_ITEM has special processing in Item_func_in function. In Item_func_in::fix_length_and_dec an array of possible comparators is created. Since NAME_CONST function has NULL_ITEM type, corresponding array element is empty. Then NAME_CONST is wrapped to ITEM_CACHE. ITEM_CACHE can not return proper type(NULL_ITEM) in Item_func_in::val_int(), so the NULL_ITEM is attempted compared with an empty comparator. The fix is to disable the caching of Item_name_const item.
-
Sergei Golubchik authored
-
Marko Mäkelä authored
fil_mutex_enter_and_prepare_for_io(): Reacquire fil_system->mutex after failing to close a file and before retrying.
-
Sergei Golubchik authored
Partition wasn't setting HA_OPTION_PACK_RECORD on ALTER TABLE if the row format was PAGE. (so one bit in the null bitmap was reserved for a deleted bit - see make_empty_rec - and all actual null bits were one off)
-
Sergei Golubchik authored
if it's a DROP TABLE, we cannot detect whether a table is temporary by looking in thd->temporary_tables - because the table might simply not exist at all.
-
Sergei Golubchik authored
backport ce6c0e58 MDEV-8960: Can't refer the same column twice in one ALTER TABLE Problem was that if column was created in alter table when it was refered again it was not tried to find from list of current columns. mysql_prepare_alter_table: There is two cases (1) If alter table adds a new column and then later alter changes the field definition, there was no check from list of new columns, instead an incorrect error was given. (2) If alter table adds a new column and then later alter changes the default, there was no check from list of new columns, instead an incorrect error was given.
-
Sergei Golubchik authored
always search in compile-time specified paths INSTALL_BINDIR, INSTALL_SBINDIR, INSTALL_MYSQLSHAREDIR. User can set them to arbitrary values, it's not enough to search only in their usual values of bin, sbin and libexec, share and share/mysql.
-
Sergei Golubchik authored
1. detect resolveip location, don' assume it's in $basedir/bin 2. don't guess $scriptdir to (incorrectly) construct the $0 path 3. rename find_in_basedir -> find_in_dirs, don't prepend $basedir automatically. This allows to use identical path lists in find_in_dirs and in cannot_find_file. 4. move search path lists to CMakeLists.txt to avoid specifying the same path list twice (in find_in_dirs and in cannot_find_file).
-
Sergei Golubchik authored
mostly caused by -Wimplicit-fallthrough
-
- 16 Oct, 2017 3 commits
-
-
Marko Mäkelä authored
MDEV-14076 InnoDB: Failing assertion when accessing INFORMATION_SCHEMA.INNODB_SYS_TABLESPACES upon upgrade from 10.1.0 to 10.1.20 i_s_dict_fill_sys_tablespaces(): Adjust the tablespace flags if needed.
-
Marko Mäkelä authored
fts_get_next_doc_id(): Assign the first and subsequent FTS_DOC_ID in the same way: by post-incrementing the cached value. If there is a user-specified FTS_DOC_ID, do not touch the internal sequence.
-
Marko Mäkelä authored
There are two bugs related to failed ADD INDEX and the InnoDB table cache eviction. dict_table_close(): Try dropping failed ADD INDEX when releasing the last table handle, not when releasing the last-but-one. dict_table_remove_from_cache_low(): Do not invoke row_merge_drop_indexes() after freeing all index metadata. Instead, directly invoke row_merge_drop_indexes_dict() to remove the metadata from the persistent data dictionary and to free the index pages.
-
- 14 Oct, 2017 2 commits
-
-
Alexander Barkov authored
MDEV-10802 TIMESTAMP NOT NULL field with explicit_defaults_for_timestamp and NO_ZERO_DATE shouldn't throw error
-
Marko Mäkelä authored
This was a false alarm in a debug check that was introduced in commit 48192f96 which was a 10.2 code refactoring in preparation for MDEV-11369 (instant ADD COLUMN) in 10.3.2. The code refactoring only affected debug builds. InnoDB B-tree record locks are only supposed to exist on leaf page records. An assertion failed, because the debug function lock_validate() was invoking lock_rec_block_validate() on a page for which there were no locks set in the record lock bitmap. This could happen on a page split. Especially when the index size grows from a single page to multiple pages, the root page would transform from a leaf node into an internal node, and its record lock bitmap would be emptied. lock_validate(): Skip empty lock bitmaps.
-