1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

Merge branch '10.3' into 10.4

This commit is contained in:
Oleksandr Byelkin
2022-07-27 11:02:57 +02:00
267 changed files with 17524 additions and 7380 deletions

View File

@@ -732,4 +732,46 @@ ALTER TABLE t1 DROP KEY `ftidx` ;
INSERT INTO t1 (col_int, col_text) VALUES ( 1255, NULL);
DROP TABLE t1;
SET @@global.innodb_file_per_table = @save;
#
# MDEV-20797 FULLTEXT search with apostrophe,
# and mandatory words
#
CREATE TABLE t1(f1 TINYTEXT NOT NULL, FULLTEXT(f1))ENGINE=InnoDB;
INSERT INTO t1 VALUES('O''Brien'), ('O Brien'), ('<27>''Brien');
INSERT INTO t1 VALUES('Brien'), ('O ''Brien'), ('O'' Brien');
INSERT INTO t1 VALUES('Doh''nuts');
SELECT * FROM t1 WHERE MATCH (f1) AGAINST ("+O'Brien" IN BOOLEAN MODE);
f1
O'Brien
O Brien
<EFBFBD>'Brien
Brien
O 'Brien
O' Brien
SELECT * FROM t1 WHERE MATCH (f1) AGAINST ("+Doh'nuts" IN BOOLEAN MODE);
f1
Doh'nuts
SELECT * FROM t1 WHERE MATCH (f1) AGAINST ("+<2B>''Brien" IN BOOLEAN MODE);
f1
O'Brien
O Brien
<EFBFBD>'Brien
Brien
O 'Brien
O' Brien
DROP TABLE t1;
#
# MDEV-29058 Assertion `index->type == 32' failed
# in dict_index_build_internal_fts
#
call mtr.add_suppression("InnoDB: Index `f` of table `test`.`t2` is corrupted");
call mtr.add_suppression("InnoDB: Skip adjustment of root pages for index `f`.");
CREATE TABLE t1 (f CHAR(8), FULLTEXT KEY (f)) ENGINE=InnoDB;
CREATE TABLE t2 LIKE t1;
ALTER TABLE t2 DISCARD TABLESPACE;
FLUSH TABLES t1 FOR EXPORT;
UNLOCK TABLES;
ALTER TABLE t1 DISCARD TABLESPACE;
ALTER TABLE t2 IMPORT TABLESPACE;
DROP TABLE t2, t1;
# End of 10.3 tests

View File

@@ -757,4 +757,37 @@ INSERT INTO t1 (col_int, col_text) VALUES ( 1255, NULL);
DROP TABLE t1;
SET @@global.innodb_file_per_table = @save;
--echo #
--echo # MDEV-20797 FULLTEXT search with apostrophe,
--echo # and mandatory words
--echo #
CREATE TABLE t1(f1 TINYTEXT NOT NULL, FULLTEXT(f1))ENGINE=InnoDB;
INSERT INTO t1 VALUES('O''Brien'), ('O Brien'), ('<27>''Brien');
INSERT INTO t1 VALUES('Brien'), ('O ''Brien'), ('O'' Brien');
INSERT INTO t1 VALUES('Doh''nuts');
SELECT * FROM t1 WHERE MATCH (f1) AGAINST ("+O'Brien" IN BOOLEAN MODE);
SELECT * FROM t1 WHERE MATCH (f1) AGAINST ("+Doh'nuts" IN BOOLEAN MODE);
SELECT * FROM t1 WHERE MATCH (f1) AGAINST ("+<2B>''Brien" IN BOOLEAN MODE);
DROP TABLE t1;
--echo #
--echo # MDEV-29058 Assertion `index->type == 32' failed
--echo # in dict_index_build_internal_fts
--echo #
call mtr.add_suppression("InnoDB: Index `f` of table `test`.`t2` is corrupted");
call mtr.add_suppression("InnoDB: Skip adjustment of root pages for index `f`.");
let $MYSQLD_DATADIR = `SELECT @@datadir`;
CREATE TABLE t1 (f CHAR(8), FULLTEXT KEY (f)) ENGINE=InnoDB;
CREATE TABLE t2 LIKE t1;
ALTER TABLE t2 DISCARD TABLESPACE;
--disable_warnings
FLUSH TABLES t1 FOR EXPORT;
--copy_file $MYSQLD_DATADIR/test/t1.ibd $MYSQLD_DATADIR/test/t2.ibd
--copy_file $MYSQLD_DATADIR/test/t1.cfg $MYSQLD_DATADIR/test/t2.cfg
UNLOCK TABLES;
ALTER TABLE t1 DISCARD TABLESPACE;
ALTER TABLE t2 IMPORT TABLESPACE;
--enable_warnings
DROP TABLE t2, t1;
--echo # End of 10.3 tests