Skip to content

Commit

Permalink
Revert "MDEV-30528 Assertion in dtype_get_at_most_n_mbchars"
Browse files Browse the repository at this point in the history
This reverts commit add0c01

Duplicates must be avoided in FTS_DOC_ID_INDEX
  • Loading branch information
midenok committed Jul 31, 2023
1 parent f182de2 commit 69b118a
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 49 deletions.
23 changes: 0 additions & 23 deletions mysql-test/suite/innodb_fts/r/innodb_fts_misc.result
Expand Up @@ -1393,26 +1393,3 @@ INSERT INTO t1 VALUES(repeat("this is the test case", 500));
ALTER TABLE t1 KEY_BLOCK_SIZE=4;
ALTER TABLE t1 KEY_BLOCK_SIZE=0;
DROP TABLE t1;
#
# MDEV-30528 Assertion in dtype_get_at_most_n_mbchars
#
create table t (f text) with system versioning character set utf8 engine=innodb;
insert into t (f) values
('mysql from tutorial dbms stands for database ...') ,
('when to use mysql well after that you went through a ...'),
('where will optimizing mysql in what tutorial we will show ...'),
('1001 mysql tricks 1. never run mysqld as root. 2. ...'),
('mysql vs. yoursql in the following database comparison ...'),
('mysql security when configured properly, mysql ...');
delete from t where f like 'mysql%';
alter table t add fulltext (f);
select * from t where match(f) against ("use");
f
when to use mysql well after that you went through a ...
select * from t where match(f) against ("run");
f
1001 mysql tricks 1. never run mysqld as root. 2. ...
select * from t where match(f) against ("tutorial");
f
where will optimizing mysql in what tutorial we will show ...
drop table t;
18 changes: 0 additions & 18 deletions mysql-test/suite/innodb_fts/t/innodb_fts_misc.test
Expand Up @@ -1341,21 +1341,3 @@ ALTER TABLE t1 KEY_BLOCK_SIZE=4;
ALTER TABLE t1 KEY_BLOCK_SIZE=0;
DROP TABLE t1;

--echo #
--echo # MDEV-30528 Assertion in dtype_get_at_most_n_mbchars
--echo #
create table t (f text) with system versioning character set utf8 engine=innodb;
insert into t (f) values
('mysql from tutorial dbms stands for database ...') ,
('when to use mysql well after that you went through a ...'),
('where will optimizing mysql in what tutorial we will show ...'),
('1001 mysql tricks 1. never run mysqld as root. 2. ...'),
('mysql vs. yoursql in the following database comparison ...'),
('mysql security when configured properly, mysql ...');
delete from t where f like 'mysql%';
alter table t add fulltext (f);
select * from t where match(f) against ("use");
select * from t where match(f) against ("run");
select * from t where match(f) against ("tutorial");
# cleanup
drop table t;
12 changes: 4 additions & 8 deletions storage/innobase/row/row0merge.cc
Expand Up @@ -502,8 +502,7 @@ row_merge_buf_add(
VCOL_STORAGE vcol_storage;
DBUG_ENTER("row_merge_buf_add");

if (buf->n_tuples >= buf->max_tuples
|| (history_fts && (buf->index->type & DICT_FTS))) {
if (buf->n_tuples >= buf->max_tuples) {
error:
n_row_added = 0;
goto end;
Expand Down Expand Up @@ -596,8 +595,7 @@ row_merge_buf_add(


/* Tokenize and process data for FTS */
if (index->type & DICT_FTS) {
ut_ad(!history_fts);
if (!history_fts && (index->type & DICT_FTS)) {
fts_doc_item_t* doc_item;
byte* value;
void* ptr;
Expand Down Expand Up @@ -1878,7 +1876,6 @@ row_merge_read_clustered_index(
mach_write_to_8(new_sys_trx_start, trx->id);
mach_write_to_8(new_sys_trx_end, TRX_ID_MAX);
uint64_t n_rows = 0;
bool history_row = false;

/* Scan the clustered index. */
for (;;) {
Expand All @@ -1895,7 +1892,7 @@ row_merge_read_clustered_index(
dtuple_t* row;
row_ext_t* ext;
page_cur_t* cur = btr_pcur_get_page_cur(&pcur);
bool history_fts = false;
bool history_row, history_fts = false;

page_cur_move_to_next(cur);

Expand Down Expand Up @@ -2530,8 +2527,7 @@ row_merge_read_clustered_index(
ut_ad(i == 0);
break;
}
} else if (!history_row
&& dict_index_is_unique(buf->index)) {
} else if (dict_index_is_unique(buf->index)) {
row_merge_dup_t dup = {
buf->index, table, col_map, 0};

Expand Down

0 comments on commit 69b118a

Please sign in to comment.