mysqlbinlog/get_first_previous_gtid_of_binlog_dir.go

30 lines
638 B
Go
Raw Normal View History

2023-04-25 18:41:34 +08:00
package binlog
import (
"io/ioutil"
"path/filepath"
"strings"
)
func GetFirstPreviousGtidOfBinlogDir(binlogDir, binlogBaseName string) (gtidDesc string, err error) {
files, err := ioutil.ReadDir(binlogDir)
if nil != err {
return "", err
}
var binlogFiles []string
for _, file := range files {
if strings.HasPrefix(file.Name(), binlogBaseName+".") && binlogFileSuffixPattern.MatchString(file.Name()) {
binlogFiles = append(binlogFiles, file.Name())
}
}
if 0 == len(binlogFiles) {
return "", nil
}
firstFile := filepath.Join(binlogDir, binlogFiles[0])
ret, err := GetPreviousGtids(firstFile)
return ret, err
}