OpenTenBase / OpenTenBase/TXSQL
Bug:CHECK INDEX assert failure on tables with FULLTEXT index
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- C++
- Estrellas
- 337
- Forks
- 234
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
Problem
Running CHECK INDEX on an InnoDB table with a FULLTEXT index triggers an assert failure.
Root Cause
In ha_innobase::check_index(), the loop only skips indexes with DICT_FTS type flag, but does not skip the hidden FTS_DOC_ID_INDEX — a regular B-tree index created internally by InnoDB for FTS document ID lookups. When check_index tries to get physical info for this index, it asserts.
Reproduce
CREATE TABLE fts_test (
id bigint NOT NULL,
tran_time varchar(20) NOT NULL,
body text,
PRIMARY KEY (id, tran_time),
FULLTEXT KEY (tran_time, body)
) ENGINE=InnoDB;
CHECK INDEX FROM fts_test; -- assert failure
Fix
Skip FTS_DOC_ID_INDEX in the loop and emit a warning, same as done for DICT_FTS indexes.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza en el punto de entrada ha_innobase::check_index() y compara el tratamiento de DICT_FTS con el FTS_DOC_ID_INDEX oculto. Reproduce los comandos CREATE TABLE y CHECK INDEX proporcionados y confirma después que el comando ya no falla por una aserción y emite una advertencia para el índice omitido.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- cpp, mysql
- Área
- databases
- Tipo de issue
- Error
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Estado de actividad
- Tranquilo
- Claridad
- Bien especificado
- Aptitud para principiantes
- 75/100