optimize a bit

This commit is contained in:
chrislu
2022-02-18 23:36:10 -08:00
parent 61811dc2f1
commit b3594278c9

View File

@@ -285,8 +285,10 @@ func (fsw *FilerStoreWrapper) prefixFilterEntries(ctx context.Context, dirPath u
count := int64(0) count := int64(0)
for count < limit && len(notPrefixed) > 0 { for count < limit && len(notPrefixed) > 0 {
var isLastItemHasPrefix bool
for _, entry := range notPrefixed { for _, entry := range notPrefixed {
if strings.HasPrefix(entry.Name(), prefix) { if strings.HasPrefix(entry.Name(), prefix) {
isLastItemHasPrefix = true
count++ count++
if !eachEntryFunc(entry) { if !eachEntryFunc(entry) {
return return
@@ -294,9 +296,11 @@ func (fsw *FilerStoreWrapper) prefixFilterEntries(ctx context.Context, dirPath u
if count >= limit { if count >= limit {
break break
} }
} else {
isLastItemHasPrefix = false
} }
} }
if count < limit { if count < limit && isLastItemHasPrefix {
notPrefixed = notPrefixed[:0] notPrefixed = notPrefixed[:0]
lastFileName, err = actualStore.ListDirectoryEntries(ctx, dirPath, lastFileName, false, limit, func(entry *Entry) bool { lastFileName, err = actualStore.ListDirectoryEntries(ctx, dirPath, lastFileName, false, limit, func(entry *Entry) bool {
notPrefixed = append(notPrefixed, entry) notPrefixed = append(notPrefixed, entry)