Documentation ¶
Index ¶
- func BulkQuery[T any](ctx context.Context, tx Queryer, query string, structs []T) error
- func BulkSQL[T any](tx Queryer, sql string, structs []T) (string, []any, error)
- func IsUniqueViolation(err error) bool
- func NewQueryErrorf(cause error, sql string, sqlArgs []any, message string, msgArgs ...any) error
- func ScanAllMap[K comparable, V any](rows *sql.Rows, m map[K]V) error
- func ScanAllSlice[V any](rows *sql.Rows, s []V) ([]V, error)
- func ScanAndValidateJSON(rows *sql.Rows, destination any) error
- func ScanJSON(rows *sql.Rows, destination any) error
- func ToValidUTF8(s string) string
- type QueryError
- type Queryer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BulkSQL ¶
BulkSQL takes a query which uses VALUES with struct bindings and rewrites it as a bulk operation. It returns the new SQL query and the args to pass to it.
func IsUniqueViolation ¶
IsUniqueViolation returns true if the given error is a violation of unique constraint
func NewQueryErrorf ¶
func ScanAllMap ¶ added in v1.39.0
func ScanAllMap[K comparable, V any](rows *sql.Rows, m map[K]V) error
ScanAllMap scans a key and value from each two column row into the given map
func ScanAllSlice ¶ added in v1.39.0
ScanAllSlice scans a single value from each single column row into the given slice
func ScanAndValidateJSON ¶
ScanAndValidateJSON scans a row which is JSON into a destination struct and validates it
func ToValidUTF8 ¶ added in v1.33.0
ToValidUTF8 replaces invalid UTF-8 sequences with � characters and also strips NULL characters, which whilst being valid UTF-8, can't be saved to PostgreSQL.
Types ¶
type QueryError ¶
type QueryError struct {
// contains filtered or unexported fields
}
QueryError is an error type for failed SQL queries
func AsQueryError ¶
func AsQueryError(err error) *QueryError
func (*QueryError) Error ¶
func (e *QueryError) Error() string
func (*QueryError) Query ¶
func (e *QueryError) Query() (string, []any)
func (*QueryError) Unwrap ¶
func (e *QueryError) Unwrap() error