alibaba / alibaba/innodb-java-reader
您好请问,解析ibd文件时候如何能获取删除数据的delete-marked标记
- Vorherrschende Sprache
- Java
- Sterne
- 496
- Forks
- 122
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
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标记
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Beginne damit, die in der Issue gezeigte Verwendung von TableReaderImpl und TableReader nachzuverfolgen, insbesondere queryByPageNumber(3), GenericRecord und RecordHeader. Ermittle, ob der aktuelle Reader gelöschte Datensätze filtert und ob RecordHeader den als gelöscht markierten Zustand offenlegt; abgeschlossen ist die Aufgabe, wenn gelöschte Datensätze und diese Markierung über die Reader-API abgerufen werden können.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java, mysql
- Bereich
- databases
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100