This reverts commit f14c79f170.
Этот коммит содержится в:
Jesse Hallam
2020-04-17 14:26:29 -03:00
коммит произвёл GitHub
родитель be7ee97dd3
Коммит 29fae242e1
628 изменённых файлов: 143991 добавлений и 89603 удалений

52
vendor/github.com/Masterminds/squirrel/insert.go сгенерированный поставляемый
Просмотреть файл

@@ -15,13 +15,12 @@ import (
type insertData struct {
PlaceholderFormat PlaceholderFormat
RunWith BaseRunner
Prefixes []Sqlizer
StatementKeyword string
Prefixes exprs
Options []string
Into string
Columns []string
Values [][]interface{}
Suffixes []Sqlizer
Suffixes exprs
Select *SelectBuilder
}
@@ -63,20 +62,11 @@ func (d *insertData) ToSql() (sqlStr string, args []interface{}, err error) {
sql := &bytes.Buffer{}
if len(d.Prefixes) > 0 {
args, err = appendToSql(d.Prefixes, sql, " ", args)
if err != nil {
return
}
args, _ = d.Prefixes.AppendToSql(sql, " ", args)
sql.WriteString(" ")
}
if d.StatementKeyword == "" {
sql.WriteString("INSERT ")
} else {
sql.WriteString(d.StatementKeyword)
sql.WriteString(" ")
}
sql.WriteString("INSERT ")
if len(d.Options) > 0 {
sql.WriteString(strings.Join(d.Options, " "))
@@ -104,10 +94,7 @@ func (d *insertData) ToSql() (sqlStr string, args []interface{}, err error) {
if len(d.Suffixes) > 0 {
sql.WriteString(" ")
args, err = appendToSql(d.Suffixes, sql, " ", args)
if err != nil {
return
}
args, _ = d.Suffixes.AppendToSql(sql, " ", args)
}
sqlStr, err = d.PlaceholderFormat.ReplacePlaceholders(sql.String())
@@ -125,13 +112,10 @@ func (d *insertData) appendValuesToSQL(w io.Writer, args []interface{}) ([]inter
for r, row := range d.Values {
valueStrings := make([]string, len(row))
for v, val := range row {
if vs, ok := val.(Sqlizer); ok {
vsql, vargs, err := vs.ToSql()
if err != nil {
return nil, err
}
valueStrings[v] = vsql
args = append(args, vargs...)
e, isExpr := val.(expr)
if isExpr {
valueStrings[v] = e.sql
args = append(args, e.args...)
} else {
valueStrings[v] = "?"
args = append(args, val)
@@ -218,12 +202,7 @@ func (b InsertBuilder) ToSql() (string, []interface{}, error) {
// Prefix adds an expression to the beginning of the query
func (b InsertBuilder) Prefix(sql string, args ...interface{}) InsertBuilder {
return b.PrefixExpr(Expr(sql, args...))
}
// PrefixExpr adds an expression to the very beginning of the query
func (b InsertBuilder) PrefixExpr(expr Sqlizer) InsertBuilder {
return builder.Append(b, "Prefixes", expr).(InsertBuilder)
return builder.Append(b, "Prefixes", Expr(sql, args...)).(InsertBuilder)
}
// Options adds keyword options before the INTO clause of the query.
@@ -248,12 +227,7 @@ func (b InsertBuilder) Values(values ...interface{}) InsertBuilder {
// Suffix adds an expression to the end of the query
func (b InsertBuilder) Suffix(sql string, args ...interface{}) InsertBuilder {
return b.SuffixExpr(Expr(sql, args...))
}
// SuffixExpr adds an expression to the end of the query
func (b InsertBuilder) SuffixExpr(expr Sqlizer) InsertBuilder {
return builder.Append(b, "Suffixes", expr).(InsertBuilder)
return builder.Append(b, "Suffixes", Expr(sql, args...)).(InsertBuilder)
}
// SetMap set columns and values for insert builder from a map of column name and value
@@ -282,7 +256,3 @@ func (b InsertBuilder) SetMap(clauses map[string]interface{}) InsertBuilder {
func (b InsertBuilder) Select(sb SelectBuilder) InsertBuilder {
return builder.Set(b, "Select", &sb).(InsertBuilder)
}
func (b InsertBuilder) statementKeyword(keyword string) InsertBuilder {
return builder.Set(b, "StatementKeyword", keyword).(InsertBuilder)
}