MDEV-32017 Auto-increment no longer works for explicit FTS_DOC_ID
- InnoDB should avoid the sync commit operation when there is nothing in fulltext cache. This is caused by commit 1248fe727784bb6be73f70163353cf8457cfde69 (MDEV-27582)
This commit is contained in:
parent
156bf5298f
commit
a2312b6fb2
@ -318,3 +318,16 @@ DROP TABLE t1;
|
|||||||
disconnect con1;
|
disconnect con1;
|
||||||
SET GLOBAL innodb_optimize_fulltext_only=OFF;
|
SET GLOBAL innodb_optimize_fulltext_only=OFF;
|
||||||
SET GLOBAL innodb_ft_aux_table = default;
|
SET GLOBAL innodb_ft_aux_table = default;
|
||||||
|
#
|
||||||
|
# MDEV-32017 Auto-increment no longer works for
|
||||||
|
# explicit FTS_DOC_ID
|
||||||
|
#
|
||||||
|
CREATE TABLE t (
|
||||||
|
FTS_DOC_ID BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||||
|
f1 char(255), f2 char(255), f3 char(255), fulltext key (f3)
|
||||||
|
) ENGINE=InnoDB;
|
||||||
|
INSERT INTO t (f1,f2,f3) VALUES ('foo','bar','baz');
|
||||||
|
ALTER TABLE t ADD FULLTEXT INDEX ft1(f1);
|
||||||
|
ALTER TABLE t ADD FULLTEXT INDEX ft2(f2);
|
||||||
|
INSERT INTO t (f1,f2,f3) VALUES ('bar','baz','qux');
|
||||||
|
DROP TABLE t;
|
||||||
|
@ -397,3 +397,17 @@ DROP TABLE t1;
|
|||||||
disconnect con1;
|
disconnect con1;
|
||||||
SET GLOBAL innodb_optimize_fulltext_only=OFF;
|
SET GLOBAL innodb_optimize_fulltext_only=OFF;
|
||||||
SET GLOBAL innodb_ft_aux_table = default;
|
SET GLOBAL innodb_ft_aux_table = default;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-32017 Auto-increment no longer works for
|
||||||
|
--echo # explicit FTS_DOC_ID
|
||||||
|
--echo #
|
||||||
|
CREATE TABLE t (
|
||||||
|
FTS_DOC_ID BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||||
|
f1 char(255), f2 char(255), f3 char(255), fulltext key (f3)
|
||||||
|
) ENGINE=InnoDB;
|
||||||
|
INSERT INTO t (f1,f2,f3) VALUES ('foo','bar','baz');
|
||||||
|
ALTER TABLE t ADD FULLTEXT INDEX ft1(f1);
|
||||||
|
ALTER TABLE t ADD FULLTEXT INDEX ft2(f2);
|
||||||
|
INSERT INTO t (f1,f2,f3) VALUES ('bar','baz','qux');
|
||||||
|
DROP TABLE t;
|
||||||
|
@ -4304,6 +4304,11 @@ fts_sync(
|
|||||||
size_t fts_cache_size= 0;
|
size_t fts_cache_size= 0;
|
||||||
rw_lock_x_lock(&cache->lock);
|
rw_lock_x_lock(&cache->lock);
|
||||||
|
|
||||||
|
if (cache->total_size == 0) {
|
||||||
|
rw_lock_x_unlock(&cache->lock);
|
||||||
|
return DB_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
/* Check if cache is being synced.
|
/* Check if cache is being synced.
|
||||||
Note: we release cache lock in fts_sync_write_words() to
|
Note: we release cache lock in fts_sync_write_words() to
|
||||||
avoid long wait for the lock by other threads. */
|
avoid long wait for the lock by other threads. */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user