Skip to content

Commit 631d6fd

Browse files
committed
Merge remote-tracking branch 'upstream/master'
2 parents 1b24a31 + c070026 commit 631d6fd

File tree

117 files changed

+3129
-2274
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

117 files changed

+3129
-2274
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
strategy:
1515
fail-fast: false
1616
matrix:
17-
go-version: [1.21.x, 1.22.x]
17+
go-version: [1.22.x, 1.23.x]
1818

1919
services:
2020
postgres:

CHANGELOG.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,22 @@
1+
## [1.2.3](https://github.com/uptrace/bun/compare/v1.2.2...v1.2.3) (2024-08-31)
2+
3+
4+
5+
## [1.2.2](https://github.com/uptrace/bun/compare/v1.2.1...v1.2.2) (2024-08-29)
6+
7+
8+
### Bug Fixes
9+
10+
* gracefully handle empty hstore in pgdialect ([#1010](https://github.com/uptrace/bun/issues/1010)) ([2f73d8a](https://github.com/uptrace/bun/commit/2f73d8a8e16c8718ebfc956036d9c9a01a0888bc))
11+
* number each unit test ([#974](https://github.com/uptrace/bun/issues/974)) ([b005dc2](https://github.com/uptrace/bun/commit/b005dc2a9034715c6f59dcfc8e76aa3b85df38ab))
12+
13+
14+
### Features
15+
16+
* add ModelTableExpr to TruncateTableQuery ([#969](https://github.com/uptrace/bun/issues/969)) ([7bc330f](https://github.com/uptrace/bun/commit/7bc330f152cf0d9dc30956478e2731ea5816f012))
17+
18+
19+
120
## [1.2.1](https://github.com/uptrace/bun/compare/v1.2.0...v1.2.1) (2024-04-02)
221

322

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ go_mod_tidy:
1515
echo "go mod tidy in $${dir}"; \
1616
(cd "$${dir}" && \
1717
go get -u ./... && \
18-
go mod tidy -go=1.21); \
18+
go mod tidy); \
1919
done
2020

2121
fmt:

bun.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ type (
2222
AfterScanRowHook = schema.AfterScanRowHook
2323
)
2424

25+
func SafeQuery(query string, args ...interface{}) schema.QueryWithArgs {
26+
return schema.SafeQuery(query, args)
27+
}
28+
2529
type BeforeSelectHook interface {
2630
BeforeSelect(ctx context.Context, query *SelectQuery) error
2731
}

dbfixture/go.mod

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,20 @@
11
module github.com/uptrace/bun/dbfixture
22

3-
go 1.21
4-
5-
toolchain go1.22.1
3+
go 1.22
64

75
replace github.com/uptrace/bun => ../
86

97
require (
10-
github.com/uptrace/bun v1.2.1
8+
github.com/uptrace/bun v1.2.3
119
gopkg.in/yaml.v3 v3.0.1
1210
)
1311

1412
require (
1513
github.com/jinzhu/inflection v1.0.0 // indirect
1614
github.com/kr/text v0.1.0 // indirect
15+
github.com/puzpuzpuz/xsync/v3 v3.4.0 // indirect
1716
github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect
1817
github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect
1918
github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect
20-
golang.org/x/sys v0.18.0 // indirect
19+
golang.org/x/sys v0.25.0 // indirect
2120
)

dbfixture/go.sum

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWb
99
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
1010
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
1111
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
12+
github.com/puzpuzpuz/xsync/v3 v3.4.0 h1:DuVBAdXuGFHv8adVXjWWZ63pJq+NRXOWVXlKDBZ+mJ4=
13+
github.com/puzpuzpuz/xsync/v3 v3.4.0/go.mod h1:VjzYrABPabuM4KyBh1Ftq6u8nhwY5tBPKP9jpmh0nnA=
1214
github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
1315
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
1416
github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc h1:9lRDQMhESg+zvGYmW5DyG0UqvY96Bu5QYsTLvCHdrgo=
@@ -17,8 +19,8 @@ github.com/vmihailenco/msgpack/v5 v5.4.1 h1:cQriyiUvjTwOHg8QZaPihLWeRAAVoCpE00IU
1719
github.com/vmihailenco/msgpack/v5 v5.4.1/go.mod h1:GaZTsDaehaPpQVyxrf5mtQlH+pc21PIudVV/E3rRQok=
1820
github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g=
1921
github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds=
20-
golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
21-
golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
22+
golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34=
23+
golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
2224
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
2325
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU=
2426
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

dialect/mssqldialect/go.mod

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,21 @@
11
module github.com/uptrace/bun/dialect/mssqldialect
22

3-
go 1.21
3+
go 1.22.0
44

5-
toolchain go1.22.1
5+
toolchain go1.22.6
66

77
replace github.com/uptrace/bun => ../..
88

99
require (
10-
github.com/uptrace/bun v1.2.1
11-
golang.org/x/mod v0.16.0
10+
github.com/uptrace/bun v1.2.3
11+
golang.org/x/mod v0.21.0
1212
)
1313

1414
require (
1515
github.com/jinzhu/inflection v1.0.0 // indirect
16+
github.com/puzpuzpuz/xsync/v3 v3.4.0 // indirect
1617
github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect
1718
github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect
1819
github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect
19-
golang.org/x/sys v0.18.0 // indirect
20+
golang.org/x/sys v0.25.0 // indirect
2021
)

dialect/mssqldialect/go.sum

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD
44
github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
55
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
66
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
7+
github.com/puzpuzpuz/xsync/v3 v3.4.0 h1:DuVBAdXuGFHv8adVXjWWZ63pJq+NRXOWVXlKDBZ+mJ4=
8+
github.com/puzpuzpuz/xsync/v3 v3.4.0/go.mod h1:VjzYrABPabuM4KyBh1Ftq6u8nhwY5tBPKP9jpmh0nnA=
79
github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
810
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
911
github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc h1:9lRDQMhESg+zvGYmW5DyG0UqvY96Bu5QYsTLvCHdrgo=
@@ -12,9 +14,9 @@ github.com/vmihailenco/msgpack/v5 v5.4.1 h1:cQriyiUvjTwOHg8QZaPihLWeRAAVoCpE00IU
1214
github.com/vmihailenco/msgpack/v5 v5.4.1/go.mod h1:GaZTsDaehaPpQVyxrf5mtQlH+pc21PIudVV/E3rRQok=
1315
github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g=
1416
github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds=
15-
golang.org/x/mod v0.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic=
16-
golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
17-
golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
18-
golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
17+
golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0=
18+
golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
19+
golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34=
20+
golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
1921
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
2022
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

dialect/mssqldialect/version.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ package mssqldialect
22

33
// Version is the current release version.
44
func Version() string {
5-
return "1.2.1"
5+
return "1.2.3"
66
}

dialect/mysqldialect/dialect.go

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,17 @@ func init() {
2727
}
2828
}
2929

30+
type DialectOption func(d *Dialect)
31+
3032
type Dialect struct {
3133
schema.BaseDialect
3234

3335
tables *schema.Tables
3436
features feature.Feature
37+
loc *time.Location
3538
}
3639

37-
func New() *Dialect {
40+
func New(opts ...DialectOption) *Dialect {
3841
d := new(Dialect)
3942
d.tables = schema.NewTables(d)
4043
d.features = feature.AutoIncrement |
@@ -47,9 +50,24 @@ func New() *Dialect {
4750
feature.InsertOnDuplicateKey |
4851
feature.SelectExists |
4952
feature.CompositeIn
53+
54+
for _, opt := range opts {
55+
opt(d)
56+
}
57+
5058
return d
5159
}
5260

61+
func WithTimeLocation(loc string) DialectOption {
62+
return func(d *Dialect) {
63+
location, err := time.LoadLocation(loc)
64+
if err != nil {
65+
panic(fmt.Errorf("mysqldialect can't load provided location %s: %s", loc, err))
66+
}
67+
d.loc = location
68+
}
69+
}
70+
5371
func (d *Dialect) Init(db *sql.DB) {
5472
var version string
5573
if err := db.QueryRow("SELECT version()").Scan(&version); err != nil {
@@ -103,9 +121,13 @@ func (d *Dialect) IdentQuote() byte {
103121
return '`'
104122
}
105123

106-
func (*Dialect) AppendTime(b []byte, tm time.Time) []byte {
124+
func (d *Dialect) AppendTime(b []byte, tm time.Time) []byte {
107125
b = append(b, '\'')
108-
b = tm.AppendFormat(b, "2006-01-02 15:04:05.999999")
126+
if d.loc != nil {
127+
b = tm.In(d.loc).AppendFormat(b, "2006-01-02 15:04:05.999999")
128+
} else {
129+
b = tm.AppendFormat(b, "2006-01-02 15:04:05.999999")
130+
}
109131
b = append(b, '\'')
110132
return b
111133
}

dialect/mysqldialect/go.mod

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,21 @@
11
module github.com/uptrace/bun/dialect/mysqldialect
22

3-
go 1.21
3+
go 1.22.0
44

5-
toolchain go1.22.1
5+
toolchain go1.22.6
66

77
replace github.com/uptrace/bun => ../..
88

99
require (
10-
github.com/uptrace/bun v1.2.1
11-
golang.org/x/mod v0.16.0
10+
github.com/uptrace/bun v1.2.3
11+
golang.org/x/mod v0.21.0
1212
)
1313

1414
require (
1515
github.com/jinzhu/inflection v1.0.0 // indirect
16+
github.com/puzpuzpuz/xsync/v3 v3.4.0 // indirect
1617
github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect
1718
github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect
1819
github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect
19-
golang.org/x/sys v0.18.0 // indirect
20+
golang.org/x/sys v0.25.0 // indirect
2021
)

dialect/mysqldialect/go.sum

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD
44
github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
55
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
66
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
7+
github.com/puzpuzpuz/xsync/v3 v3.4.0 h1:DuVBAdXuGFHv8adVXjWWZ63pJq+NRXOWVXlKDBZ+mJ4=
8+
github.com/puzpuzpuz/xsync/v3 v3.4.0/go.mod h1:VjzYrABPabuM4KyBh1Ftq6u8nhwY5tBPKP9jpmh0nnA=
79
github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
810
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
911
github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc h1:9lRDQMhESg+zvGYmW5DyG0UqvY96Bu5QYsTLvCHdrgo=
@@ -12,9 +14,9 @@ github.com/vmihailenco/msgpack/v5 v5.4.1 h1:cQriyiUvjTwOHg8QZaPihLWeRAAVoCpE00IU
1214
github.com/vmihailenco/msgpack/v5 v5.4.1/go.mod h1:GaZTsDaehaPpQVyxrf5mtQlH+pc21PIudVV/E3rRQok=
1315
github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g=
1416
github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds=
15-
golang.org/x/mod v0.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic=
16-
golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
17-
golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
18-
golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
17+
golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0=
18+
golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
19+
golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34=
20+
golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
1921
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
2022
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

dialect/mysqldialect/version.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ package mysqldialect
22

33
// Version is the current release version.
44
func Version() string {
5-
return "1.2.1"
5+
return "1.2.3"
66
}

0 commit comments

Comments
 (0)