diff options
Diffstat (limited to 'vendor/github.com/uptrace/bun/schema/append.go')
-rw-r--r-- | vendor/github.com/uptrace/bun/schema/append.go | 43 |
1 files changed, 7 insertions, 36 deletions
diff --git a/vendor/github.com/uptrace/bun/schema/append.go b/vendor/github.com/uptrace/bun/schema/append.go index 57d292bfe..fccdd17e7 100644 --- a/vendor/github.com/uptrace/bun/schema/append.go +++ b/vendor/github.com/uptrace/bun/schema/append.go @@ -5,13 +5,10 @@ import ( "strconv" "time" - "github.com/vmihailenco/msgpack/v5" - "github.com/uptrace/bun/dialect" - "github.com/uptrace/bun/internal" ) -func Append(fmter Formatter, b []byte, v interface{}, custom CustomAppender) []byte { +func Append(fmter Formatter, b []byte, v interface{}) []byte { switch v := v.(type) { case nil: return dialect.AppendNull(b) @@ -24,11 +21,11 @@ func Append(fmter Formatter, b []byte, v interface{}, custom CustomAppender) []b case int64: return strconv.AppendInt(b, v, 10) case uint: - return strconv.AppendUint(b, uint64(v), 10) + return strconv.AppendInt(b, int64(v), 10) case uint32: - return strconv.AppendUint(b, uint64(v), 10) + return fmter.Dialect().AppendUint32(b, v) case uint64: - return strconv.AppendUint(b, v, 10) + return fmter.Dialect().AppendUint64(b, v) case float32: return dialect.AppendFloat32(b, v) case float64: @@ -36,9 +33,9 @@ func Append(fmter Formatter, b []byte, v interface{}, custom CustomAppender) []b case string: return dialect.AppendString(b, v) case time.Time: - return dialect.AppendTime(b, v) + return fmter.Dialect().AppendTime(b, v) case []byte: - return dialect.AppendBytes(b, v) + return fmter.Dialect().AppendBytes(b, v) case QueryAppender: return AppendQueryAppender(fmter, b, v) default: @@ -46,33 +43,7 @@ func Append(fmter Formatter, b []byte, v interface{}, custom CustomAppender) []b if vv.Kind() == reflect.Ptr && vv.IsNil() { return dialect.AppendNull(b) } - appender := Appender(vv.Type(), custom) + appender := Appender(fmter.Dialect(), vv.Type()) return appender(fmter, b, vv) } } - -func appendMsgpack(fmter Formatter, b []byte, v reflect.Value) []byte { - hexEnc := internal.NewHexEncoder(b) - - enc := msgpack.GetEncoder() - defer msgpack.PutEncoder(enc) - - enc.Reset(hexEnc) - if err := enc.EncodeValue(v); err != nil { - return dialect.AppendError(b, err) - } - - if err := hexEnc.Close(); err != nil { - return dialect.AppendError(b, err) - } - - return hexEnc.Bytes() -} - -func AppendQueryAppender(fmter Formatter, b []byte, app QueryAppender) []byte { - bb, err := app.AppendQuery(fmter, b) - if err != nil { - return dialect.AppendError(b, err) - } - return bb -} |