-
Notifications
You must be signed in to change notification settings - Fork 0
/
indexer_no_op.go
30 lines (23 loc) · 1 KB
/
indexer_no_op.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package fts
import "context"
// NoOp returns a no-op Indexer for the given key-value types K and V.
func NoOp[K SQLType, V SQLType]() Indexer[K, V] {
return noOpIndexer[K, V]{}
}
type noOpIndexer[K SQLType, V SQLType] struct{}
// Search implements the Indexer interface.
//
// This is a no-op call and the returned values are always both nil.
func (i noOpIndexer[K, V]) Search(context.Context, V) ([]Attribute[K, V], error) { return nil, nil }
// Insert implements the Indexer interface.
//
// This is a no-op call and the returned error is always nil.
func (i noOpIndexer[K, V]) Insert(context.Context, ...Attribute[K, V]) error { return nil }
// Delete implements the Indexer interface.
//
// This is a no-op call and the returned error is always nil.
func (i noOpIndexer[K, V]) Delete(context.Context, ...K) error { return nil }
// Shutdown implements the Indexer interface.
//
// This is a no-op call and the returned error is always nil.
func (i noOpIndexer[K, V]) Shutdown(context.Context) error { return nil }