/
githubmirror
/
xorm
Обзор
Документация
Войти
/
githubmirror
/
xorm
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
internal/statements/statement_args.go
56 строк
1 KB
Andrew Thornton
Remove const insertSelectPlaceholder and associated dead code (#2151)
29 май 2022, 19:29
29 май 2022, 19:29
60540cb
Код
Авторство
О чём код?
// Copyright 2019 The Xorm Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package statements import ( "xorm.io/builder" "xorm.io/xorm/schemas" ) // WriteArg writes an arg func (statement *Statement) WriteArg(w *builder.BytesWriter, arg interface{}) error { switch argv := arg.(type) { case *builder.Builder: if _, err := w.WriteString("("); err != nil { return err } if err := argv.WriteTo(w); err != nil { return err } if _, err := w.WriteString(")"); err != nil { return err } default: if err := w.WriteByte('?'); err != nil { return err } if v, ok := arg.(bool); ok && statement.dialect.URI().DBType == schemas.MSSQL { if v { w.Append(1) } else { w.Append(0) } } else { w.Append(arg) } } return nil } // WriteArgs writes args func (statement *Statement) WriteArgs(w *builder.BytesWriter, args []interface{}) error { for i, arg := range args { if err := statement.WriteArg(w, arg); err != nil { return err } if i+1 != len(args) { if _, err := w.WriteString(","); err != nil { return err } } } return nil }