#!/bin/bash
# 用法: ./recover_primary.sh /usr/local/mysql/data/db3/gms_id_data.ibd

FILE=$1
if [ -z "$FILE" ]; then
    echo "用法: $0 <ibd文件路径>"
    exit 1
fi

# 先列出所有索引 ID
INDEXES=$(./page_parser -C -f "$FILE" | awk '{print $1}')

for IDX in $INDEXES; do
    echo "尝试解析索引 $IDX ..."
    ./page_parser -5 -f "$FILE" -T $IDX > tmp_$IDX.txt

    # 检查是否包含 register_time/expire_time 这样的字段
    if grep -q "202" tmp_$IDX.txt && grep -q "AGMS" tmp_$IDX.txt; then
        echo "索引 $IDX 看起来是 PRIMARY，导出到 recovered.csv"
        cat tmp_$IDX.txt | awk -F'\t' '{print $1","$2","$3","$4","$5}' > recovered.csv
        echo "导出完成: recovered.csv"
        exit 0
    fi
done

echo "没有找到包含完整行的索引，请手动检查 tmp_*.txt"

