From 8b0ea560279a5bf4479555d3924c763ddeecfcad Mon Sep 17 00:00:00 2001 From: kim Date: Mon, 30 Jun 2025 15:19:09 +0200 Subject: [chore] update go dependencies (#4304) - github.com/KimMachineGun/automemlimit v0.7.2 => v0.7.3 - github.com/gin-contrib/cors v1.7.5 => v1.7.6 - github.com/minio/minio-go/v7 v7.0.92 => v7.0.94 - github.com/spf13/cast v1.8.0 => v1.9.2 - github.com/uptrace/bun{,/*} v1.2.11 => v1.2.14 - golang.org/x/image v0.27.0 => v0.28.0 - golang.org/x/net v0.40.0 => v0.41.0 - code.superseriousbusiness.org/go-swagger v0.31.0-gts-go1.23-fix => v0.32.3-gts-go1.23-fix Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4304 Co-authored-by: kim Co-committed-by: kim --- vendor/github.com/uptrace/bun/schema/scan.go | 47 +++++++++++++++++++++++++++ vendor/github.com/uptrace/bun/schema/table.go | 13 ++++---- 2 files changed, 54 insertions(+), 6 deletions(-) (limited to 'vendor/github.com/uptrace/bun/schema') diff --git a/vendor/github.com/uptrace/bun/schema/scan.go b/vendor/github.com/uptrace/bun/schema/scan.go index 9db46cd6f..0c4f8a824 100644 --- a/vendor/github.com/uptrace/bun/schema/scan.go +++ b/vendor/github.com/uptrace/bun/schema/scan.go @@ -5,6 +5,7 @@ import ( "database/sql" "fmt" "net" + "net/netip" "reflect" "strconv" "strings" @@ -102,6 +103,10 @@ func scanner(typ reflect.Type) ScannerFunc { return scanIP case ipNetType: return scanIPNet + case netipAddrType: + return scanNetIpAddr + case netipPrefixType: + return scanNetIpPrefix case jsonRawMessageType: return scanBytes } @@ -413,6 +418,48 @@ func scanIPNet(dest reflect.Value, src interface{}) error { return nil } +func scanNetIpAddr(dest reflect.Value, src interface{}) error { + if src == nil { + return scanNull(dest) + } + + b, err := toBytes(src) + if err != nil { + return err + } + + val, _ := netip.ParseAddr(internal.String(b)) + if !val.IsValid() { + return fmt.Errorf("bun: invalid ip: %q", b) + } + + ptr := dest.Addr().Interface().(*netip.Addr) + *ptr = val + + return nil +} + +func scanNetIpPrefix(dest reflect.Value, src interface{}) error { + if src == nil { + return scanNull(dest) + } + + b, err := toBytes(src) + if err != nil { + return err + } + + val, _ := netip.ParsePrefix(internal.String(b)) + if !val.IsValid() { + return fmt.Errorf("bun: invalid prefix: %q", b) + } + + ptr := dest.Addr().Interface().(*netip.Prefix) + *ptr = val + + return nil +} + func addrScanner(fn ScannerFunc) ScannerFunc { return func(dest reflect.Value, src interface{}) error { if !dest.CanAddr() { diff --git a/vendor/github.com/uptrace/bun/schema/table.go b/vendor/github.com/uptrace/bun/schema/table.go index 93313597b..44d5e5719 100644 --- a/vendor/github.com/uptrace/bun/schema/table.go +++ b/vendor/github.com/uptrace/bun/schema/table.go @@ -1,10 +1,11 @@ package schema import ( + "cmp" "database/sql" "fmt" "reflect" - "sort" + "slices" "strings" "time" @@ -299,15 +300,14 @@ func (t *Table) processFields(typ reflect.Type) { } func sortFieldsByStruct(fields []*Field) { - sort.Slice(fields, func(i, j int) bool { - left, right := fields[i], fields[j] + slices.SortFunc(fields, func(left, right *Field) int { for k := 0; k < len(left.Index) && k < len(right.Index); k++ { - if left.Index[k] != right.Index[k] { - return left.Index[k] < right.Index[k] + if res := cmp.Compare(left.Index[k], right.Index[k]); res != 0 { + return res } } // NOTE: should not reach - return true + return 0 }) } @@ -538,6 +538,7 @@ func (t *Table) newField(sf reflect.StructField, tag tagparser.Tag) *Field { } if tag.HasOption("autoincrement") { field.AutoIncrement = true + field.NotNull = true field.NullZero = true } if tag.HasOption("identity") { -- cgit v1.3