alibaba / alibaba/innodb-java-reader
您好请问,解析ibd文件时候如何能获取删除数据的delete-marked标记
- Lenguaje dominante
- Java
- Estrellas
- 496
- Forks
- 122
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
public static void main(String[] args) {
String createTableSql = "CREATE TABLE `tb11`\n"
+ "(`id` int(11) NOT NULL ,\n"
+ "`a` bigint(20) NOT NULL,\n"
+ "`b` varchar(64) NOT NULL,\n"
+ "PRIMARY KEY (`id`),\n"
+ "KEY `key_a` (`a`))\n"
+ "ENGINE=InnoDB;";
String ibdFilePath = "/Users/zhangfeng/Desktop/dbtest/tb11.ibd";
try (TableReader reader = new TableReaderImpl(ibdFilePath, createTableSql)) {
reader.open();
List recordList = reader.queryByPageNumber(3);
for (GenericRecord record : recordList) {
Object[] values = record.getValues();
System.out.println(Arrays.asList(values));
assert record.getPrimaryKey() == record.get("id");
RecordHeader header = record.getHeader();
System.out.println("id=" + record.get("id") + ",a=" + record.get("a")+",b=" + record.get("b") +",flag="+header.getInfoFlag());
if (!record.isLeafRecord()) {
System.out.println(record.getChildPageNumber());
}
}
}
无法获取删除的记录,以及delete-marked标记
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Comienza rastreando el uso de TableReaderImpl y TableReader mostrado en la issue, especialmente queryByPageNumber(3), GenericRecord y RecordHeader. Determina si el reader actual filtra los registros eliminados y si RecordHeader expone el estado marcado como eliminado; se considera terminado cuando los registros eliminados y esa marca se pueden recuperar mediante la API del reader.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- java, mysql
- Área
- databases
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100