summaryrefslogtreecommitdiff
path: root/vendor/github.com/uptrace/bun/dialect/pgdialect/array.go
diff options
context:
space:
mode:
authorLibravatar kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com>2025-03-03 10:42:05 +0000
committerLibravatar GitHub <noreply@github.com>2025-03-03 10:42:05 +0000
commit67a2b3650c5f586431c8559bc9b609699de8431d (patch)
treef4a269939f7f175277a92aaa33bf58e652d4e276 /vendor/github.com/uptrace/bun/dialect/pgdialect/array.go
parent[chore]: Bump github.com/prometheus/client_golang from 1.20.5 to 1.21.0 (#3860) (diff)
downloadgotosocial-67a2b3650c5f586431c8559bc9b609699de8431d.tar.xz
bumps our uptrace/bun dependencies to v1.2.10 (#3865)
Diffstat (limited to 'vendor/github.com/uptrace/bun/dialect/pgdialect/array.go')
-rw-r--r--vendor/github.com/uptrace/bun/dialect/pgdialect/array.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/vendor/github.com/uptrace/bun/dialect/pgdialect/array.go b/vendor/github.com/uptrace/bun/dialect/pgdialect/array.go
index 058b9f2fb..b20c20434 100644
--- a/vendor/github.com/uptrace/bun/dialect/pgdialect/array.go
+++ b/vendor/github.com/uptrace/bun/dialect/pgdialect/array.go
@@ -142,6 +142,10 @@ func (d *Dialect) arrayElemAppender(typ reflect.Type) schema.AppenderFunc {
if typ.Implements(driverValuerType) {
return arrayAppendDriverValue
}
+ if typ == timeType {
+ return appendTimeElemValue
+ }
+
switch typ.Kind() {
case reflect.String:
return appendStringElemValue
@@ -149,10 +153,20 @@ func (d *Dialect) arrayElemAppender(typ reflect.Type) schema.AppenderFunc {
if typ.Elem().Kind() == reflect.Uint8 {
return appendBytesElemValue
}
+ case reflect.Ptr:
+ return schema.PtrAppender(d.arrayElemAppender(typ.Elem()))
}
return schema.Appender(d, typ)
}
+func appendTimeElemValue(fmter schema.Formatter, b []byte, v reflect.Value) []byte {
+ ts := v.Convert(timeType).Interface().(time.Time)
+
+ b = append(b, '"')
+ b = appendTime(b, ts)
+ return append(b, '"')
+}
+
func appendStringElemValue(fmter schema.Formatter, b []byte, v reflect.Value) []byte {
return appendStringElem(b, v.String())
}