misc.go 533 Bytes
Newer Older
Vladimir Barsukov's avatar
init  
Vladimir Barsukov committed
1
2
package zdb

Vladimir Barsukov's avatar
Vladimir Barsukov committed
3
import (
Vladimir Barsukov's avatar
Vladimir Barsukov committed
4
	"errors"
Vladimir Barsukov's avatar
Vladimir Barsukov committed
5
6
7
	"github.com/jackc/pgx/v5"
	"strings"
)
Vladimir Barsukov's avatar
init  
Vladimir Barsukov committed
8
9
10

var ErrNoRows = pgx.ErrNoRows

Vladimir Barsukov's avatar
Vladimir Barsukov committed
11
12
13
14
func IsEmpty(err error) bool {
	return errors.Is(err, ErrNoRows)
}

Vladimir Barsukov's avatar
init  
Vladimir Barsukov committed
15
16
17
18
19
20
21
22
type Opts interface {
	Opts() (sql string, args map[string]any)
}

func remove[T comparable](slice []T, s int) []T {
	return append(slice[:s], slice[s+1:]...)
}

Vladimir Barsukov's avatar
Vladimir Barsukov committed
23
24
25
26
27
28
29
30
31
32
func contains(s string, sl []string) bool {
	for _, s2 := range sl {
		if strings.Contains(s, s2) {
			return true
		}
	}

	return false
}

Vladimir Barsukov's avatar
init  
Vladimir Barsukov committed
33
34
35
type Logger interface {
	Printf(format string, v ...any)
}