2024-03-24 11:25:35 +08:00
|
|
|
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
|
|
|
|
|
|
|
|
|
package kvstore
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"errors"
|
2024-04-07 14:55:12 +08:00
|
|
|
"fmt"
|
2024-03-24 11:25:35 +08:00
|
|
|
"github.com/cockroachdb/pebble"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
var ErrTableNotFound = errors.New("table not found")
|
|
|
|
|
var ErrKeyTooLong = errors.New("too long key")
|
2024-04-07 14:55:12 +08:00
|
|
|
var ErrSkip = errors.New("skip") // skip count in iterator
|
|
|
|
|
var ErrTableClosed = errors.New("table closed")
|
2024-03-24 11:25:35 +08:00
|
|
|
|
2024-03-31 10:08:53 +08:00
|
|
|
func IsNotFound(err error) bool {
|
|
|
|
|
return err != nil && errors.Is(err, pebble.ErrNotFound)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func IsSkipError(err error) bool {
|
|
|
|
|
return err != nil && errors.Is(err, ErrSkip)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func Skip() (bool, error) {
|
|
|
|
|
return true, ErrSkip
|
2024-03-24 11:25:35 +08:00
|
|
|
}
|
2024-04-07 14:55:12 +08:00
|
|
|
|
|
|
|
|
func NewTableClosedErr(tableName string) error {
|
|
|
|
|
return fmt.Errorf("table '"+tableName+"' closed: %w", ErrTableClosed)
|
|
|
|
|
}
|