summaryrefslogtreecommitdiff
path: root/storage/innobase/include/fts0priv.h
Commit message (Collapse)AuthorAgeFilesLines
* Merge 10.3 into 10.4Marko Mäkelä2020-09-211-5/+1
|\
| * Merge 10.2 into 10.3Marko Mäkelä2020-09-211-5/+1
| |\
| | * MDEV-18867 Long Time to Stop and StartThirunarayanan Balathandayuthapani2020-09-101-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fts_drop_orphaned_tables() takes long time to remove the orphaned FTS tables. In order to reduce the time, do the following: - Traverse fil_system.space_list and construct a set of table_id,index_id of all FTS_*.ibd tablespaces. - Traverse the sys_indexes table and ignore the entry from the above collection if it exist. - Existing elements in the collection can be considered as orphaned fts tables. construct the table name from (table_id,index_id) and invoke fts_drop_tables(). - Removed DICT_TF2_FTS_AUX_HEX_NAME flag usage from upgrade. - is_aux_table() in dict_table_t to check whether the given name is fts auxiliary table fts_space_set_t is a structure to store set of parent table id and index id - Remove unused FTS function in fts0fts.cc - Remove the fulltext index in row_format_redundant test case. Because it deals with the condition that SYS_TABLES does have corrupted entry and valid entry exist in SYS_INDEXES.
* | | Merge 10.3 into 10.4Marko Mäkelä2020-05-201-1/+1
|\ \ \ | |/ /
| * | Merge 10.2 into 10.3Marko Mäkelä2020-05-201-1/+1
| |\ \ | | |/
| | * MDEV-22629 Remove fts_indexes field from struct fts_update_t (#1537)Yury Kurlykov2020-05-201-1/+1
| | | | | | | | | | | | fts_indexes field in fts_update_t never used. So replace fts_update_t with doc_id_t in the code
* | | Merge 10.3 into 10.4Marko Mäkelä2019-09-231-13/+0
|\ \ \ | |/ / | | | | | | Disable MDEV-20576 assertions until MDEV-20595 has been fixed.
| * | Merge 10.2 into 10.3Marko Mäkelä2019-09-231-13/+0
| |\ \ | | |/
| | * Merge 10.1 into 10.2Marko Mäkelä2019-09-181-13/+0
| | |\
| | | * MDEV-19529 InnoDB hang on DROP FULLTEXT INDEXThirunarayanan Balathandayuthapani2019-09-181-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: ======= During dropping of fts index, InnoDB waits for fts_optimize_remove_table() and it holds dict_sys->mutex and dict_operaiton_lock even though the table id is not present in the queue. But fts_optimize_thread does wait for dict_sys->mutex to process the unrelated table id from the slot. Solution: ======== Whenever table is added to fts_optimize_wq, update the fts_status of in-memory fts subsystem to TABLE_IN_QUEUE. Whenever drop index wants to remove table from the queue, it can check the fts_status to decide whether it should send the MSG_DELETE_TABLE to the queue. Removed the following functions because these are all deadcode. dict_table_wait_for_bg_threads_to_exit(), fts_wait_for_background_thread_to_start(),fts_start_shutdown(), fts_shudown().
* | | | Merge branch '10.3' into 10.4Oleksandr Byelkin2019-05-191-73/+61
|\ \ \ \ | |/ / /
| * | | Merge 10.2 into 10.3Marko Mäkelä2019-05-141-1/+1
| |\ \ \ | | |/ /
| | * | Merge 10.1 into 10.2Marko Mäkelä2019-05-131-1/+1
| | |\ \ | | | |/
| | | * Update FSF addressVicențiu Ciorbaru2019-05-111-1/+1
| | | |
| * | | Merge branch '10.2' into 10.3Oleksandr Byelkin2019-05-121-72/+60
| |\ \ \ |/ / / / | | _ / | | /
| * | Merge 10.1 into 10.2Marko Mäkelä2019-05-101-72/+60
| |\ \ | | |/
| | * MDEV-18220: race condition in fts_get_table_name()Marko Mäkelä2019-05-101-2/+4
| | | | | | | | | | | | fts_get_table_name(): Add the parameter bool dict_locked=false.
| | * MDEV-18220: Backport some code from MariaDB 10.2Marko Mäkelä2019-05-101-18/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fts_get_table_name(): Output to a caller-allocated buffer. fts_get_table_name_prefix(): Use the lower-overhead allocation ut_malloc() instead of mem_alloc(). This is based on mysql/mysql-server@d1584b9f38ff0bcf609d181db35f74108e022168 in MySQL 5.7.4.
* | | Merge 10.2 into 10.3Marko Mäkelä2018-11-301-1/+0
|\ \ \ | |/ / | | | | | | | | | | | | Also, related to MDEV-15522, MDEV-17304, MDEV-17835, remove the Galera xtrabackup tests, because xtrabackup never worked with MariaDB Server 10.3 due to InnoDB redo log format changes.
| * | Remove some unnecessary InnoDB #includeMarko Mäkelä2018-11-291-1/+0
| | |
* | | Merge 10.2 into 10.3Marko Mäkelä2018-08-031-9/+2
|\ \ \ | |/ /
| * | Merge 10.1 into 10.2Marko Mäkelä2018-08-021-9/+2
| |\ \ | | |/
| | * MDEV-16855 Fix fts_sync_synchronization in InnoDBMarko Mäkelä2018-07-301-17/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a backport of the following fix from MySQL 5.7.23. Some code refactoring has been omitted, and the test case has been adapted to MariaDB. commit 7a689acaa65e9d602575f7aa53fe36a64a07460f Author: Krzysztof Kapuścik <krzysztof.kapuscik@oracle.com> Date: Tue Mar 13 12:34:03 2018 +0100 Bug#27082268 Invalid FTS sync synchronization The fix closes two issues: Bug #27082268 - INNODB: FAILING ASSERTION: SYM_NODE->TABLE != NULL DURING FTS SYNC Bug #27095935 - DEADLOCK BETWEEN FTS_DROP_INDEX AND FTS_OPTIMIZE_SYNC_TABLE Both issues were related to a FTS cache sync being done during operations that perfomed DDL actions on internal FTS tables (ALTER TABLE, TRUNCATE). In some cases the FTS tables and/or internal cache structures could get removed while still being used to perform FTS synchronization leading to crashes. In other the sync operations could not get finishes as it was waiting for dict lock which was taken by thread waiting for the background sync to be finished. The changes done includes: - Stopping background operations during ALTER TABLE and TRUNCATE. - Removal of unused code in FTS. - Cleanup of FTS sync related code to make it more readable and easier to maintain. RB#18262
* | | Fix many -Wunused-parameterMarko Mäkelä2018-05-011-1/+0
|/ / | | | | | | | | | | | | | | | | | | Remove unused InnoDB function parameters and functions. i_s_sys_virtual_fill_table(): Do not allocate heap memory. mtr_is_block_fix(): Replace with mtr_memo_contains(). mtr_is_page_fix(): Replace with mtr_memo_contains_page().
* | Remove dict_index_t::is_ngramMarko Mäkelä2017-05-261-5/+2
| | | | | | | | | | | | | | | | | | | | | | When MySQL 5.7 introduced fulltext parser plugins to InnoDB, it hard-coded the plugin name "ngram" to mean something special. Because -fsanitize=undefined was issuing warnings for the assignment in row_merge_create_index() that the value is out of range for Boolean, we remove this code that was not intended to be used in MariaDB 10.2. fts_check_token(): Remove the special logic for N-gram tokens.
* | MDEV-12270 Port MySQL 8.0 Bug#21141390 REMOVE UNUSED FUNCTIONS AND CONVERT ↵Marko Mäkelä2017-03-171-89/+2
| | | | | | | | | | | | | | | | | | | | | | GLOBAL SYMBOLS TO STATIC InnoDB defines some functions that are not called at all. Other functions are called, but only from the same compilation unit. Remove some function declarations and definitions, and add 'static' keywords. Some symbols must be kept for separately compiled tools, such as innochecksum.
* | MDEV-12271 Port MySQL 8.0 Bug#23150562 REMOVE UNIV_MUST_NOT_INLINE AND ↵Marko Mäkelä2017-03-171-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | UNIV_NONINL Also, remove empty .ic files that were not removed by my MySQL commit. Problem: InnoDB used to support a compilation mode that allowed to choose whether the function definitions in .ic files are to be inlined or not. This stopped making sense when InnoDB moved to C++ in MySQL 5.6 (and ha_innodb.cc started to #include .ic files), and more so in MySQL 5.7 when inline methods and functions were introduced in .h files. Solution: Remove all references to UNIV_NONINL and UNIV_MUST_NOT_INLINE from all files, assuming that the symbols are never defined. Remove the files fut0fut.cc and ut0byte.cc which only mattered when UNIV_NONINL was defined.
* | Merge InnoDB 5.7 from mysql-5.7.14.Jan Lindström2016-09-081-28/+28
| | | | | | | | | | | | | | | | | | | | | | | | Contains also: MDEV-10549 mysqld: sql/handler.cc:2692: int handler::ha_index_first(uchar*): Assertion `table_share->tmp_table != NO_TMP_TABLE || m_lock_type != 2' failed. (branch bb-10.2-jan) Unlike MySQL, InnoDB still uses THR_LOCK in MariaDB MDEV-10548 Some of the debug sync waits do not work with InnoDB 5.7 (branch bb-10.2-jan) enable tests that were fixed in MDEV-10549 MDEV-10548 Some of the debug sync waits do not work with InnoDB 5.7 (branch bb-10.2-jan) fix main.innodb_mysql_sync - re-enable online alter for partitioned innodb tables
* | Merge InnoDB 5.7 from mysql-5.7.9.Jan Lindström2016-09-021-85/+78
|/ | | | | | | | | | | | | | | | | | | | | | | Contains also MDEV-10547: Test multi_update_innodb fails with InnoDB 5.7 The failure happened because 5.7 has changed the signature of the bool handler::primary_key_is_clustered() const virtual function ("const" was added). InnoDB was using the old signature which caused the function not to be used. MDEV-10550: Parallel replication lock waits/deadlock handling does not work with InnoDB 5.7 Fixed mutexing problem on lock_trx_handle_wait. Note that rpl_parallel and rpl_optimistic_parallel tests still fail. MDEV-10156 : Group commit tests fail on 10.2 InnoDB (branch bb-10.2-jan) Reason: incorrect merge MDEV-10550: Parallel replication can't sync with master in InnoDB 5.7 (branch bb-10.2-jan) Reason: incorrect merge
* 5.6.31Sergei Golubchik2016-06-211-44/+44
|
* move to storage/innobaseSergei Golubchik2015-05-041-0/+653