alibaba / alibaba/innodb-java-reader
您好请问,解析ibd文件时候如何能获取删除数据的delete-marked标记
- Langage dominant
- Java
- Étoiles
- 496
- Forks
- 122
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
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标记
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Commencez par suivre l’utilisation de TableReaderImpl et TableReader présentée dans l’issue, en particulier queryByPageNumber(3), GenericRecord et RecordHeader. Déterminez si le reader actuel filtre les enregistrements supprimés et si RecordHeader expose l’état marqué comme supprimé ; la tâche est considérée comme terminée lorsque les enregistrements supprimés et ce marqueur peuvent être récupérés via l’API du reader.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java, mysql
- Domaine
- databases
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100