mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-12-16 08:13:00 -06:00
upstep bun to v1.0.14 (#291)
This commit is contained in:
parent
84a8a07f38
commit
8b7c3507fe
100 changed files with 5071 additions and 3836 deletions
59
vendor/github.com/uptrace/bun/query_insert.go
generated
vendored
59
vendor/github.com/uptrace/bun/query_insert.go
generated
vendored
|
|
@ -84,6 +84,11 @@ func (q *InsertQuery) Column(columns ...string) *InsertQuery {
|
|||
return q
|
||||
}
|
||||
|
||||
func (q *InsertQuery) ColumnExpr(query string, args ...interface{}) *InsertQuery {
|
||||
q.addColumn(schema.SafeQuery(query, args))
|
||||
return q
|
||||
}
|
||||
|
||||
func (q *InsertQuery) ExcludeColumn(columns ...string) *InsertQuery {
|
||||
q.excludeColumn(columns)
|
||||
return q
|
||||
|
|
@ -113,7 +118,7 @@ func (q *InsertQuery) WhereOr(query string, args ...interface{}) *InsertQuery {
|
|||
|
||||
// Returning adds a RETURNING clause to the query.
|
||||
//
|
||||
// To suppress the auto-generated RETURNING clause, use `Returning("NULL")`.
|
||||
// To suppress the auto-generated RETURNING clause, use `Returning("")`.
|
||||
func (q *InsertQuery) Returning(query string, args ...interface{}) *InsertQuery {
|
||||
q.addReturning(schema.SafeQuery(query, args))
|
||||
return q
|
||||
|
|
@ -147,9 +152,6 @@ func (q *InsertQuery) Operation() string {
|
|||
}
|
||||
|
||||
func (q *InsertQuery) AppendQuery(fmter schema.Formatter, b []byte) (_ []byte, err error) {
|
||||
if q.err != nil {
|
||||
return nil, q.err
|
||||
}
|
||||
fmter = formatterWithModel(fmter, q)
|
||||
|
||||
b, err = q.appendWith(fmter, b)
|
||||
|
|
@ -209,7 +211,18 @@ func (q *InsertQuery) appendColumnsValues(
|
|||
b = append(b, ")"...)
|
||||
}
|
||||
|
||||
b = append(b, " SELECT * FROM "...)
|
||||
b = append(b, " SELECT "...)
|
||||
|
||||
if q.columns != nil {
|
||||
b, err = q.appendColumns(fmter, b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
} else {
|
||||
b = append(b, "*"...)
|
||||
}
|
||||
|
||||
b = append(b, " FROM "...)
|
||||
b, err = q.appendOtherTables(fmter, b)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
|
@ -429,6 +442,17 @@ func (q *InsertQuery) appendOn(fmter schema.Formatter, b []byte) (_ []byte, err
|
|||
}
|
||||
|
||||
b = q.appendSetExcluded(b, fields)
|
||||
} else if q.onDuplicateKeyUpdate() {
|
||||
fields, err := q.getDataFields()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if len(fields) == 0 {
|
||||
fields = q.tableModel.Table().DataFields
|
||||
}
|
||||
|
||||
b = q.appendSetValues(b, fields)
|
||||
}
|
||||
|
||||
if len(q.where) > 0 {
|
||||
|
|
@ -447,6 +471,10 @@ func (q *InsertQuery) onConflictDoUpdate() bool {
|
|||
return strings.HasSuffix(strings.ToUpper(q.on.Query), " DO UPDATE")
|
||||
}
|
||||
|
||||
func (q *InsertQuery) onDuplicateKeyUpdate() bool {
|
||||
return strings.ToUpper(q.on.Query) == "DUPLICATE KEY UPDATE"
|
||||
}
|
||||
|
||||
func (q *InsertQuery) appendSetExcluded(b []byte, fields []*schema.Field) []byte {
|
||||
b = append(b, " SET "...)
|
||||
for i, f := range fields {
|
||||
|
|
@ -460,6 +488,20 @@ func (q *InsertQuery) appendSetExcluded(b []byte, fields []*schema.Field) []byte
|
|||
return b
|
||||
}
|
||||
|
||||
func (q *InsertQuery) appendSetValues(b []byte, fields []*schema.Field) []byte {
|
||||
b = append(b, " "...)
|
||||
for i, f := range fields {
|
||||
if i > 0 {
|
||||
b = append(b, ", "...)
|
||||
}
|
||||
b = append(b, f.SQLName...)
|
||||
b = append(b, " = VALUES("...)
|
||||
b = append(b, f.SQLName...)
|
||||
b = append(b, ")"...)
|
||||
}
|
||||
return b
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
func (q *InsertQuery) Exec(ctx context.Context, dest ...interface{}) (sql.Result, error) {
|
||||
|
|
@ -469,6 +511,13 @@ func (q *InsertQuery) Exec(ctx context.Context, dest ...interface{}) (sql.Result
|
|||
}
|
||||
}
|
||||
|
||||
if q.err != nil {
|
||||
return nil, q.err
|
||||
}
|
||||
if err := q.beforeAppendModel(ctx, q); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
queryBytes, err := q.AppendQuery(q.db.fmter, q.db.makeQueryBytes())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue