summaryrefslogtreecommitdiff
path: root/vendor/github.com/uptrace
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/uptrace')
-rw-r--r--vendor/github.com/uptrace/bun/CHANGELOG.md8
-rw-r--r--vendor/github.com/uptrace/bun/dialect/pgdialect/append.go8
-rw-r--r--vendor/github.com/uptrace/bun/dialect/pgdialect/array_scan.go8
-rw-r--r--vendor/github.com/uptrace/bun/dialect/pgdialect/dialect.go7
-rw-r--r--vendor/github.com/uptrace/bun/dialect/pgdialect/go.mod7
-rw-r--r--vendor/github.com/uptrace/bun/dialect/pgdialect/go.sum22
-rw-r--r--vendor/github.com/uptrace/bun/dialect/pgdialect/scan.go17
-rw-r--r--vendor/github.com/uptrace/bun/dialect/sqlitedialect/dialect.go5
-rw-r--r--vendor/github.com/uptrace/bun/dialect/sqlitedialect/go.mod7
-rw-r--r--vendor/github.com/uptrace/bun/dialect/sqlitedialect/go.sum22
-rw-r--r--vendor/github.com/uptrace/bun/dialect/sqlitedialect/scan.go17
-rw-r--r--vendor/github.com/uptrace/bun/go.mod12
-rw-r--r--vendor/github.com/uptrace/bun/go.sum23
-rw-r--r--vendor/github.com/uptrace/bun/hook.go22
-rw-r--r--vendor/github.com/uptrace/bun/query_base.go4
-rw-r--r--vendor/github.com/uptrace/bun/query_column_add.go4
-rw-r--r--vendor/github.com/uptrace/bun/query_column_drop.go4
-rw-r--r--vendor/github.com/uptrace/bun/query_delete.go4
-rw-r--r--vendor/github.com/uptrace/bun/query_index_create.go4
-rw-r--r--vendor/github.com/uptrace/bun/query_index_drop.go4
-rw-r--r--vendor/github.com/uptrace/bun/query_insert.go4
-rw-r--r--vendor/github.com/uptrace/bun/query_select.go6
-rw-r--r--vendor/github.com/uptrace/bun/query_table_create.go4
-rw-r--r--vendor/github.com/uptrace/bun/query_table_drop.go4
-rw-r--r--vendor/github.com/uptrace/bun/query_table_truncate.go4
-rw-r--r--vendor/github.com/uptrace/bun/query_update.go4
-rw-r--r--vendor/github.com/uptrace/bun/query_values.go4
-rw-r--r--vendor/github.com/uptrace/bun/schema/scan.go42
-rw-r--r--vendor/github.com/uptrace/bun/schema/sqlfmt.go5
-rw-r--r--vendor/github.com/uptrace/bun/version.go2
30 files changed, 116 insertions, 172 deletions
diff --git a/vendor/github.com/uptrace/bun/CHANGELOG.md b/vendor/github.com/uptrace/bun/CHANGELOG.md
index 30e36edef..98a08de72 100644
--- a/vendor/github.com/uptrace/bun/CHANGELOG.md
+++ b/vendor/github.com/uptrace/bun/CHANGELOG.md
@@ -1,6 +1,12 @@
# Changelog
-## v1.0.4 - Sep 06 2021
+## v1.0.5 - Sep 09 2021
+
+- chore: tweak bundebug colors
+- fix: check if table is present when appending columns
+- fix: copy []byte when scanning
+
+## v1.0.4 - Sep 08 2021
- Added support for MariaDB.
- Restored default `SET` for `ON CONFLICT DO UPDATE` queries.
diff --git a/vendor/github.com/uptrace/bun/dialect/pgdialect/append.go b/vendor/github.com/uptrace/bun/dialect/pgdialect/append.go
index 475621197..e8480b6be 100644
--- a/vendor/github.com/uptrace/bun/dialect/pgdialect/append.go
+++ b/vendor/github.com/uptrace/bun/dialect/pgdialect/append.go
@@ -94,12 +94,12 @@ func arrayAppendDriverValue(fmter schema.Formatter, b []byte, v reflect.Value) [
func arrayAppender(typ reflect.Type) schema.AppenderFunc {
kind := typ.Kind()
- if kind == reflect.Ptr {
- typ = typ.Elem()
- kind = typ.Kind()
- }
switch kind {
+ case reflect.Ptr:
+ if fn := arrayAppender(typ.Elem()); fn != nil {
+ return schema.PtrAppender(fn)
+ }
case reflect.Slice, reflect.Array:
// ok:
default:
diff --git a/vendor/github.com/uptrace/bun/dialect/pgdialect/array_scan.go b/vendor/github.com/uptrace/bun/dialect/pgdialect/array_scan.go
index 33d31f325..a8ff29715 100644
--- a/vendor/github.com/uptrace/bun/dialect/pgdialect/array_scan.go
+++ b/vendor/github.com/uptrace/bun/dialect/pgdialect/array_scan.go
@@ -12,12 +12,12 @@ import (
func arrayScanner(typ reflect.Type) schema.ScannerFunc {
kind := typ.Kind()
- if kind == reflect.Ptr {
- typ = typ.Elem()
- kind = typ.Kind()
- }
switch kind {
+ case reflect.Ptr:
+ if fn := arrayScanner(typ.Elem()); fn != nil {
+ return schema.PtrScanner(fn)
+ }
case reflect.Slice, reflect.Array:
// ok:
default:
diff --git a/vendor/github.com/uptrace/bun/dialect/pgdialect/dialect.go b/vendor/github.com/uptrace/bun/dialect/pgdialect/dialect.go
index fb210751b..837c2d8ab 100644
--- a/vendor/github.com/uptrace/bun/dialect/pgdialect/dialect.go
+++ b/vendor/github.com/uptrace/bun/dialect/pgdialect/dialect.go
@@ -24,7 +24,8 @@ type Dialect struct {
func New() *Dialect {
d := new(Dialect)
d.tables = schema.NewTables(d)
- d.features = feature.Returning |
+ d.features = feature.CTE |
+ feature.Returning |
feature.DefaultPlaceholder |
feature.DoubleColonCast |
feature.InsertTableAlias |
@@ -70,8 +71,8 @@ func (d *Dialect) onField(field *schema.Field) {
}
if field.Tag.HasOption("array") {
- field.Append = arrayAppender(field.IndirectType)
- field.Scan = arrayScanner(field.IndirectType)
+ field.Append = arrayAppender(field.StructField.Type)
+ field.Scan = arrayScanner(field.StructField.Type)
}
}
diff --git a/vendor/github.com/uptrace/bun/dialect/pgdialect/go.mod b/vendor/github.com/uptrace/bun/dialect/pgdialect/go.mod
deleted file mode 100644
index 0cad1ce5b..000000000
--- a/vendor/github.com/uptrace/bun/dialect/pgdialect/go.mod
+++ /dev/null
@@ -1,7 +0,0 @@
-module github.com/uptrace/bun/dialect/pgdialect
-
-go 1.16
-
-replace github.com/uptrace/bun => ../..
-
-require github.com/uptrace/bun v0.4.3
diff --git a/vendor/github.com/uptrace/bun/dialect/pgdialect/go.sum b/vendor/github.com/uptrace/bun/dialect/pgdialect/go.sum
deleted file mode 100644
index 4d0f1c1bb..000000000
--- a/vendor/github.com/uptrace/bun/dialect/pgdialect/go.sum
+++ /dev/null
@@ -1,22 +0,0 @@
-github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
-github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E=
-github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
-github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
-github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
-github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc h1:9lRDQMhESg+zvGYmW5DyG0UqvY96Bu5QYsTLvCHdrgo=
-github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc/go.mod h1:bciPuU6GHm1iF1pBvUfxfsH0Wmnc2VbpgvbI9ZWuIRs=
-github.com/vmihailenco/msgpack/v5 v5.3.4 h1:qMKAwOV+meBw2Y8k9cVwAy7qErtYCwBzZ2ellBfvnqc=
-github.com/vmihailenco/msgpack/v5 v5.3.4/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc=
-github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g=
-github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds=
-golang.org/x/sys v0.0.0-20210616094352-59db8d763f22 h1:RqytpXGR1iVNX7psjB3ff8y7sNFinVFvkx1c8SjBkio=
-golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
-gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
diff --git a/vendor/github.com/uptrace/bun/dialect/pgdialect/scan.go b/vendor/github.com/uptrace/bun/dialect/pgdialect/scan.go
index 9e22282f5..e06bb8bc2 100644
--- a/vendor/github.com/uptrace/bun/dialect/pgdialect/scan.go
+++ b/vendor/github.com/uptrace/bun/dialect/pgdialect/scan.go
@@ -1,28 +1,11 @@
package pgdialect
import (
- "fmt"
"reflect"
"github.com/uptrace/bun/schema"
)
func scanner(typ reflect.Type) schema.ScannerFunc {
- if typ.Kind() == reflect.Interface {
- return scanInterface
- }
return schema.Scanner(typ)
}
-
-func scanInterface(dest reflect.Value, src interface{}) error {
- if dest.IsNil() {
- dest.Set(reflect.ValueOf(src))
- return nil
- }
-
- dest = dest.Elem()
- if fn := scanner(dest.Type()); fn != nil {
- return fn(dest, src)
- }
- return fmt.Errorf("bun: can't scan %#v into %s", src, dest.Type())
-}
diff --git a/vendor/github.com/uptrace/bun/dialect/sqlitedialect/dialect.go b/vendor/github.com/uptrace/bun/dialect/sqlitedialect/dialect.go
index 33d25f2d1..32fd8d3fa 100644
--- a/vendor/github.com/uptrace/bun/dialect/sqlitedialect/dialect.go
+++ b/vendor/github.com/uptrace/bun/dialect/sqlitedialect/dialect.go
@@ -22,7 +22,10 @@ type Dialect struct {
func New() *Dialect {
d := new(Dialect)
d.tables = schema.NewTables(d)
- d.features = feature.Returning | feature.InsertTableAlias | feature.DeleteTableAlias
+ d.features = feature.CTE |
+ feature.Returning |
+ feature.InsertTableAlias |
+ feature.DeleteTableAlias
return d
}
diff --git a/vendor/github.com/uptrace/bun/dialect/sqlitedialect/go.mod b/vendor/github.com/uptrace/bun/dialect/sqlitedialect/go.mod
deleted file mode 100644
index 1fb9b7ab1..000000000
--- a/vendor/github.com/uptrace/bun/dialect/sqlitedialect/go.mod
+++ /dev/null
@@ -1,7 +0,0 @@
-module github.com/uptrace/bun/dialect/sqlitedialect
-
-go 1.16
-
-replace github.com/uptrace/bun => ../..
-
-require github.com/uptrace/bun v0.4.3
diff --git a/vendor/github.com/uptrace/bun/dialect/sqlitedialect/go.sum b/vendor/github.com/uptrace/bun/dialect/sqlitedialect/go.sum
deleted file mode 100644
index 4d0f1c1bb..000000000
--- a/vendor/github.com/uptrace/bun/dialect/sqlitedialect/go.sum
+++ /dev/null
@@ -1,22 +0,0 @@
-github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
-github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E=
-github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
-github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
-github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
-github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc h1:9lRDQMhESg+zvGYmW5DyG0UqvY96Bu5QYsTLvCHdrgo=
-github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc/go.mod h1:bciPuU6GHm1iF1pBvUfxfsH0Wmnc2VbpgvbI9ZWuIRs=
-github.com/vmihailenco/msgpack/v5 v5.3.4 h1:qMKAwOV+meBw2Y8k9cVwAy7qErtYCwBzZ2ellBfvnqc=
-github.com/vmihailenco/msgpack/v5 v5.3.4/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc=
-github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g=
-github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds=
-golang.org/x/sys v0.0.0-20210616094352-59db8d763f22 h1:RqytpXGR1iVNX7psjB3ff8y7sNFinVFvkx1c8SjBkio=
-golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
-gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
diff --git a/vendor/github.com/uptrace/bun/dialect/sqlitedialect/scan.go b/vendor/github.com/uptrace/bun/dialect/sqlitedialect/scan.go
index 44c50c2e9..f6f02b55a 100644
--- a/vendor/github.com/uptrace/bun/dialect/sqlitedialect/scan.go
+++ b/vendor/github.com/uptrace/bun/dialect/sqlitedialect/scan.go
@@ -1,28 +1,11 @@
package sqlitedialect
import (
- "fmt"
"reflect"
"github.com/uptrace/bun/schema"
)
func scanner(typ reflect.Type) schema.ScannerFunc {
- if typ.Kind() == reflect.Interface {
- return scanInterface
- }
return schema.Scanner(typ)
}
-
-func scanInterface(dest reflect.Value, src interface{}) error {
- if dest.IsNil() {
- dest.Set(reflect.ValueOf(src))
- return nil
- }
-
- dest = dest.Elem()
- if fn := scanner(dest.Type()); fn != nil {
- return fn(dest, src)
- }
- return fmt.Errorf("bun: can't scan %#v into %s", src, dest.Type())
-}
diff --git a/vendor/github.com/uptrace/bun/go.mod b/vendor/github.com/uptrace/bun/go.mod
deleted file mode 100644
index 92def2a3d..000000000
--- a/vendor/github.com/uptrace/bun/go.mod
+++ /dev/null
@@ -1,12 +0,0 @@
-module github.com/uptrace/bun
-
-go 1.16
-
-require (
- github.com/davecgh/go-spew v1.1.1 // indirect
- github.com/jinzhu/inflection v1.0.0
- github.com/stretchr/testify v1.7.0
- github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc
- github.com/vmihailenco/msgpack/v5 v5.3.4
- golang.org/x/sys v0.0.0-20210616094352-59db8d763f22 // indirect
-)
diff --git a/vendor/github.com/uptrace/bun/go.sum b/vendor/github.com/uptrace/bun/go.sum
deleted file mode 100644
index 1f5ad5409..000000000
--- a/vendor/github.com/uptrace/bun/go.sum
+++ /dev/null
@@ -1,23 +0,0 @@
-github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
-github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E=
-github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
-github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
-github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
-github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc h1:9lRDQMhESg+zvGYmW5DyG0UqvY96Bu5QYsTLvCHdrgo=
-github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc/go.mod h1:bciPuU6GHm1iF1pBvUfxfsH0Wmnc2VbpgvbI9ZWuIRs=
-github.com/vmihailenco/msgpack/v5 v5.3.4 h1:qMKAwOV+meBw2Y8k9cVwAy7qErtYCwBzZ2ellBfvnqc=
-github.com/vmihailenco/msgpack/v5 v5.3.4/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc=
-github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g=
-github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds=
-golang.org/x/sys v0.0.0-20210616094352-59db8d763f22 h1:RqytpXGR1iVNX7psjB3ff8y7sNFinVFvkx1c8SjBkio=
-golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
-gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
-gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= \ No newline at end of file
diff --git a/vendor/github.com/uptrace/bun/hook.go b/vendor/github.com/uptrace/bun/hook.go
index 4cfa68fa6..88f8adbf2 100644
--- a/vendor/github.com/uptrace/bun/hook.go
+++ b/vendor/github.com/uptrace/bun/hook.go
@@ -4,6 +4,7 @@ import (
"context"
"database/sql"
"reflect"
+ "strings"
"sync/atomic"
"time"
@@ -13,7 +14,7 @@ import (
type QueryEvent struct {
DB *DB
- QueryAppender schema.QueryAppender
+ QueryAppender schema.Query
Query string
QueryArgs []interface{}
@@ -24,6 +25,23 @@ type QueryEvent struct {
Stash map[interface{}]interface{}
}
+func (e *QueryEvent) Operation() string {
+ if e.QueryAppender != nil {
+ return e.QueryAppender.Operation()
+ }
+ return queryOperation(e.Query)
+}
+
+func queryOperation(query string) string {
+ if idx := strings.IndexByte(query, ' '); idx > 0 {
+ query = query[:idx]
+ }
+ if len(query) > 16 {
+ query = query[:16]
+ }
+ return query
+}
+
type QueryHook interface {
BeforeQuery(context.Context, *QueryEvent) context.Context
AfterQuery(context.Context, *QueryEvent)
@@ -31,7 +49,7 @@ type QueryHook interface {
func (db *DB) beforeQuery(
ctx context.Context,
- queryApp schema.QueryAppender,
+ queryApp schema.Query,
query string,
queryArgs []interface{},
) (context.Context, *QueryEvent) {
diff --git a/vendor/github.com/uptrace/bun/query_base.go b/vendor/github.com/uptrace/bun/query_base.go
index 83cbd2605..4e1151dbe 100644
--- a/vendor/github.com/uptrace/bun/query_base.go
+++ b/vendor/github.com/uptrace/bun/query_base.go
@@ -427,7 +427,7 @@ func (q *baseQuery) _getFields(omitPK bool) ([]*schema.Field, error) {
func (q *baseQuery) scan(
ctx context.Context,
- queryApp schema.QueryAppender,
+ queryApp schema.Query,
query string,
model model,
hasDest bool,
@@ -459,7 +459,7 @@ func (q *baseQuery) scan(
func (q *baseQuery) exec(
ctx context.Context,
- queryApp schema.QueryAppender,
+ queryApp schema.Query,
query string,
) (sql.Result, error) {
ctx, event := q.db.beforeQuery(ctx, queryApp, query, nil)
diff --git a/vendor/github.com/uptrace/bun/query_column_add.go b/vendor/github.com/uptrace/bun/query_column_add.go
index ce2f60bf0..30d76e610 100644
--- a/vendor/github.com/uptrace/bun/query_column_add.go
+++ b/vendor/github.com/uptrace/bun/query_column_add.go
@@ -61,6 +61,10 @@ func (q *AddColumnQuery) ColumnExpr(query string, args ...interface{}) *AddColum
//------------------------------------------------------------------------------
+func (q *AddColumnQuery) Operation() string {
+ return "ADD COLUMN"
+}
+
func (q *AddColumnQuery) AppendQuery(fmter schema.Formatter, b []byte) (_ []byte, err error) {
if q.err != nil {
return nil, q.err
diff --git a/vendor/github.com/uptrace/bun/query_column_drop.go b/vendor/github.com/uptrace/bun/query_column_drop.go
index 5684beeb3..9fa54610d 100644
--- a/vendor/github.com/uptrace/bun/query_column_drop.go
+++ b/vendor/github.com/uptrace/bun/query_column_drop.go
@@ -68,6 +68,10 @@ func (q *DropColumnQuery) ColumnExpr(query string, args ...interface{}) *DropCol
//------------------------------------------------------------------------------
+func (q *DropColumnQuery) Operation() string {
+ return "DROP COLUMN"
+}
+
func (q *DropColumnQuery) AppendQuery(fmter schema.Formatter, b []byte) (_ []byte, err error) {
if q.err != nil {
return nil, q.err
diff --git a/vendor/github.com/uptrace/bun/query_delete.go b/vendor/github.com/uptrace/bun/query_delete.go
index bcdf9c501..97b6dec7b 100644
--- a/vendor/github.com/uptrace/bun/query_delete.go
+++ b/vendor/github.com/uptrace/bun/query_delete.go
@@ -129,6 +129,10 @@ func (q *DeleteQuery) hasReturning() bool {
//------------------------------------------------------------------------------
+func (q *DeleteQuery) Operation() string {
+ return "DELETE"
+}
+
func (q *DeleteQuery) AppendQuery(fmter schema.Formatter, b []byte) (_ []byte, err error) {
if q.err != nil {
return nil, q.err
diff --git a/vendor/github.com/uptrace/bun/query_index_create.go b/vendor/github.com/uptrace/bun/query_index_create.go
index de7eb7aa0..2b2b1edd7 100644
--- a/vendor/github.com/uptrace/bun/query_index_create.go
+++ b/vendor/github.com/uptrace/bun/query_index_create.go
@@ -142,6 +142,10 @@ func (q *CreateIndexQuery) WhereOr(query string, args ...interface{}) *CreateInd
//------------------------------------------------------------------------------
+func (q *CreateIndexQuery) Operation() string {
+ return "CREATE INDEX"
+}
+
func (q *CreateIndexQuery) AppendQuery(fmter schema.Formatter, b []byte) (_ []byte, err error) {
if q.err != nil {
return nil, q.err
diff --git a/vendor/github.com/uptrace/bun/query_index_drop.go b/vendor/github.com/uptrace/bun/query_index_drop.go
index c922ff04f..2a641a281 100644
--- a/vendor/github.com/uptrace/bun/query_index_drop.go
+++ b/vendor/github.com/uptrace/bun/query_index_drop.go
@@ -62,6 +62,10 @@ func (q *DropIndexQuery) Index(query string, args ...interface{}) *DropIndexQuer
//------------------------------------------------------------------------------
+func (q *DropIndexQuery) Operation() string {
+ return "DROP INDEX"
+}
+
func (q *DropIndexQuery) AppendQuery(fmter schema.Formatter, b []byte) (_ []byte, err error) {
if q.err != nil {
return nil, q.err
diff --git a/vendor/github.com/uptrace/bun/query_insert.go b/vendor/github.com/uptrace/bun/query_insert.go
index d02633bf6..37daaf34a 100644
--- a/vendor/github.com/uptrace/bun/query_insert.go
+++ b/vendor/github.com/uptrace/bun/query_insert.go
@@ -142,6 +142,10 @@ func (q *InsertQuery) Replace() *InsertQuery {
//------------------------------------------------------------------------------
+func (q *InsertQuery) Operation() string {
+ return "INSERT"
+}
+
func (q *InsertQuery) AppendQuery(fmter schema.Formatter, b []byte) (_ []byte, err error) {
if q.err != nil {
return nil, q.err
diff --git a/vendor/github.com/uptrace/bun/query_select.go b/vendor/github.com/uptrace/bun/query_select.go
index 7ff93366f..28fafa92c 100644
--- a/vendor/github.com/uptrace/bun/query_select.go
+++ b/vendor/github.com/uptrace/bun/query_select.go
@@ -359,6 +359,10 @@ func (q *SelectQuery) selectJoins(ctx context.Context, joins []relationJoin) err
//------------------------------------------------------------------------------
+func (q *SelectQuery) Operation() string {
+ return "SELECT"
+}
+
func (q *SelectQuery) AppendQuery(fmter schema.Formatter, b []byte) (_ []byte, err error) {
return q.appendQuery(fmter, b, false)
}
@@ -523,7 +527,7 @@ func (q *SelectQuery) appendColumns(fmter schema.Formatter, b []byte) (_ []byte,
b = append(b, ", "...)
}
- if col.Args == nil {
+ if col.Args == nil && q.table != nil {
if field, ok := q.table.FieldMap[col.Query]; ok {
b = append(b, q.table.SQLAlias...)
b = append(b, '.')
diff --git a/vendor/github.com/uptrace/bun/query_table_create.go b/vendor/github.com/uptrace/bun/query_table_create.go
index 0a4b3567c..a5fa8e231 100644
--- a/vendor/github.com/uptrace/bun/query_table_create.go
+++ b/vendor/github.com/uptrace/bun/query_table_create.go
@@ -85,6 +85,10 @@ func (q *CreateTableQuery) ForeignKey(query string, args ...interface{}) *Create
return q
}
+func (q *CreateTableQuery) Operation() string {
+ return "CREATE TABLE"
+}
+
func (q *CreateTableQuery) AppendQuery(fmter schema.Formatter, b []byte) (_ []byte, err error) {
if q.err != nil {
return nil, q.err
diff --git a/vendor/github.com/uptrace/bun/query_table_drop.go b/vendor/github.com/uptrace/bun/query_table_drop.go
index 2c30171c1..8192bd548 100644
--- a/vendor/github.com/uptrace/bun/query_table_drop.go
+++ b/vendor/github.com/uptrace/bun/query_table_drop.go
@@ -68,6 +68,10 @@ func (q *DropTableQuery) Restrict() *DropTableQuery {
//------------------------------------------------------------------------------
+func (q *DropTableQuery) Operation() string {
+ return "DROP TABLE"
+}
+
func (q *DropTableQuery) AppendQuery(fmter schema.Formatter, b []byte) (_ []byte, err error) {
if q.err != nil {
return nil, q.err
diff --git a/vendor/github.com/uptrace/bun/query_table_truncate.go b/vendor/github.com/uptrace/bun/query_table_truncate.go
index 1e4bef7f6..765afde92 100644
--- a/vendor/github.com/uptrace/bun/query_table_truncate.go
+++ b/vendor/github.com/uptrace/bun/query_table_truncate.go
@@ -64,6 +64,10 @@ func (q *TruncateTableQuery) Restrict() *TruncateTableQuery {
//------------------------------------------------------------------------------
+func (q *TruncateTableQuery) Operation() string {
+ return "TRUNCATE TABLE"
+}
+
func (q *TruncateTableQuery) AppendQuery(
fmter schema.Formatter, b []byte,
) (_ []byte, err error) {
diff --git a/vendor/github.com/uptrace/bun/query_update.go b/vendor/github.com/uptrace/bun/query_update.go
index 1e032c548..ed387ecad 100644
--- a/vendor/github.com/uptrace/bun/query_update.go
+++ b/vendor/github.com/uptrace/bun/query_update.go
@@ -160,6 +160,10 @@ func (q *UpdateQuery) hasReturning() bool {
//------------------------------------------------------------------------------
+func (q *UpdateQuery) Operation() string {
+ return "SELECT"
+}
+
func (q *UpdateQuery) AppendQuery(fmter schema.Formatter, b []byte) (_ []byte, err error) {
if q.err != nil {
return nil, q.err
diff --git a/vendor/github.com/uptrace/bun/query_values.go b/vendor/github.com/uptrace/bun/query_values.go
index 075db4d0d..b6a78476d 100644
--- a/vendor/github.com/uptrace/bun/query_values.go
+++ b/vendor/github.com/uptrace/bun/query_values.go
@@ -94,6 +94,10 @@ func (q *ValuesQuery) AppendColumns(fmter schema.Formatter, b []byte) (_ []byte,
return nil, fmt.Errorf("bun: Values does not support %T", q.model)
}
+func (q *ValuesQuery) Operation() string {
+ return "SELECT"
+}
+
func (q *ValuesQuery) AppendQuery(fmter schema.Formatter, b []byte) (_ []byte, err error) {
if q.err != nil {
return nil, q.err
diff --git a/vendor/github.com/uptrace/bun/schema/scan.go b/vendor/github.com/uptrace/bun/schema/scan.go
index 85ba62a01..238fde217 100644
--- a/vendor/github.com/uptrace/bun/schema/scan.go
+++ b/vendor/github.com/uptrace/bun/schema/scan.go
@@ -77,6 +77,17 @@ func Scanner(typ reflect.Type) ScannerFunc {
}
}
+ switch typ {
+ case timeType:
+ return scanTime
+ case ipType:
+ return scanIP
+ case ipNetType:
+ return scanIPNet
+ case jsonRawMessageType:
+ return scanBytes
+ }
+
if typ.Implements(scannerType) {
return scanScanner
}
@@ -88,17 +99,8 @@ func Scanner(typ reflect.Type) ScannerFunc {
}
}
- switch typ {
- case timeType:
- return scanTime
- case ipType:
- return scanIP
- case ipNetType:
- return scanIPNet
- case bytesType:
+ if typ.Kind() == reflect.Slice && typ.Elem().Kind() == reflect.Uint8 {
return scanBytes
- case jsonRawMessageType:
- return scanJSONRawMessage
}
return scanners[kind]
@@ -218,7 +220,10 @@ func scanBytes(dest reflect.Value, src interface{}) error {
dest.SetBytes([]byte(src))
return nil
case []byte:
- dest.SetBytes(src)
+ clone := make([]byte, len(src))
+ copy(clone, src)
+
+ dest.SetBytes(clone)
return nil
}
return fmt.Errorf("bun: can't scan %#v into %s", src, dest.Type())
@@ -345,21 +350,6 @@ func scanIPNet(dest reflect.Value, src interface{}) error {
return nil
}
-func scanJSONRawMessage(dest reflect.Value, src interface{}) error {
- if src == nil {
- dest.SetBytes(nil)
- return nil
- }
-
- b, err := toBytes(src)
- if err != nil {
- return err
- }
-
- dest.SetBytes(b)
- 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/sqlfmt.go b/vendor/github.com/uptrace/bun/schema/sqlfmt.go
index bbdb0a01f..ba64e07ed 100644
--- a/vendor/github.com/uptrace/bun/schema/sqlfmt.go
+++ b/vendor/github.com/uptrace/bun/schema/sqlfmt.go
@@ -4,6 +4,11 @@ type QueryAppender interface {
AppendQuery(fmter Formatter, b []byte) ([]byte, error)
}
+type Query interface {
+ QueryAppender
+ Operation() string
+}
+
type ColumnsAppender interface {
AppendColumns(fmter Formatter, b []byte) ([]byte, error)
}
diff --git a/vendor/github.com/uptrace/bun/version.go b/vendor/github.com/uptrace/bun/version.go
index 16591822d..58297a02d 100644
--- a/vendor/github.com/uptrace/bun/version.go
+++ b/vendor/github.com/uptrace/bun/version.go
@@ -2,5 +2,5 @@ package bun
// Version is the current release version.
func Version() string {
- return "1.0.4"
+ return "1.0.5"
}