package utils import ( "fmt" "strconv" "strings" "github.com/milvus-io/milvus/internal/util/typeutil" "github.com/milvus-io/milvus/internal/metastore/kv/rootcoord" ) type UniqueID = typeutil.UniqueID type Timestamp = typeutil.Timestamp type errNotOfTsKey struct { key string } func (e errNotOfTsKey) Error() string { return fmt.Sprintf("%s is not of snapshot", e.key) } func NewErrNotOfTsKey(key string) *errNotOfTsKey { return &errNotOfTsKey{key: key} } func IsErrNotOfTsKey(err error) bool { _, ok := err.(*errNotOfTsKey) return ok } func SplitBySeparator(s string) (key string, ts Timestamp, err error) { got := strings.Split(s, rootcoord.SnapshotsSep) if len(got) != 2 { return "", 0, NewErrNotOfTsKey(s) } convertedTs, err := strconv.Atoi(got[1]) if err != nil { return "", 0, fmt.Errorf("%s is not of snapshot", s) } return got[0], Timestamp(convertedTs), nil } func GetFileName(p string) string { got := strings.Split(p, "/") l := len(got) return got[l-1] }