mirror of
https://github.com/MariaDB/server.git
synced 2025-01-15 19:42:28 +01:00
86 lines
2.7 KiB
Text
86 lines
2.7 KiB
Text
#
|
|
# test of new fulltext search features
|
|
#
|
|
|
|
let collation=utf8mb3_unicode_ci;
|
|
source include/have_collation.inc;
|
|
|
|
#
|
|
# two-level tree
|
|
#
|
|
|
|
CREATE TABLE t1 (
|
|
i int(10) unsigned not null auto_increment primary key,
|
|
a varchar(255) not null,
|
|
FULLTEXT KEY (a)
|
|
) ENGINE=Aria ROW_FORMAT=DYNAMIC MAX_ROWS=2000000000000;
|
|
|
|
# two-level entry, second-level tree with depth 2
|
|
disable_query_log;
|
|
let $1=1024;
|
|
while ($1)
|
|
{
|
|
eval insert t1 (a) values ('aaaxxx');
|
|
dec $1;
|
|
}
|
|
|
|
# one-level entry (entries)
|
|
let $1=150;
|
|
while ($1)
|
|
{
|
|
eval insert t1 (a) values ('aaayyy');
|
|
dec $1;
|
|
}
|
|
enable_query_log;
|
|
|
|
repair table t1 quick;
|
|
check table t1;
|
|
repair table t1;
|
|
check table t1;
|
|
repair table t1;
|
|
|
|
select count(*) from t1 where match a against ('aaaxxx');
|
|
select count(*) from t1 where match a against ('aaayyy');
|
|
select count(*) from t1 where match a against ('aaaxxx' in boolean mode);
|
|
select count(*) from t1 where match a against ('aaayyy' in boolean mode);
|
|
|
|
select count(*) from t1 where match a against ('aaax*' in boolean mode);
|
|
select count(*) from t1 where match a against ('aaay*' in boolean mode);
|
|
select count(*) from t1 where match a against ('aaa*' in boolean mode);
|
|
|
|
# mi_write:
|
|
insert t1 (a) values ('aaaxxx'),('aaayyy');
|
|
# call to enlarge_root() below
|
|
select count(*) from t1 where match a against ('aaaxxx' in boolean mode);
|
|
select count(*) from t1 where match a against ('aaayyy');
|
|
|
|
# mi_delete
|
|
insert t1 (a) values ('aaaxxx 000000');
|
|
select count(*) from t1 where match a against ('000000');
|
|
delete from t1 where match a against ('000000');
|
|
select count(*) from t1 where match a against ('000000');
|
|
select count(*) from t1 where match a against ('aaaxxx');
|
|
select count(*) from t1 where match a against ('aaaxxx' in boolean mode);
|
|
select count(*) from t1 where match a against ('aaayyy' in boolean mode);
|
|
# double-check without index
|
|
select count(*) from t1 where a = 'aaaxxx';
|
|
select count(*) from t1 where a = 'aaayyy';
|
|
|
|
# update
|
|
insert t1 (a) values ('aaaxxx 000000');
|
|
select count(*) from t1 where match a against ('000000');
|
|
select count(*) from t1 where match a against ('aaaxxx' in boolean mode);
|
|
update t1 set a='aaaxxx' where a = 'aaayyy';
|
|
select count(*) from t1 where match a against ('aaaxxx' in boolean mode);
|
|
select count(*) from t1 where match a against ('aaayyy' in boolean mode);
|
|
|
|
drop table t1;
|
|
|
|
#
|
|
# MDEV-11241 Certain combining marks cause MariaDB to crash when doing Full-Text searches
|
|
#
|
|
set names utf8mb4;
|
|
create table t1 (a int, b text, fulltext (b)) charset=utf8mb4 collate=utf8mb4_unicode_ci engine=aria;
|
|
insert t1 values (1000, 'C͓̙̯͔̩ͅͅi̩̘̜̲a̯̲̬̳̜̖̤o͕͓̜͓̺̖̗,̠̬͚ ̺T͇̲h͈̱e ̬̜D̖o̦̖͔̗͖̩̘c̣̼t̝͉̫̮̗o͉̫̭r̙͎̗.͓̪̥');
|
|
select a from t1 where match(b) against ('ciao' in boolean mode);
|
|
drop table t1;
|