Source File
delete.go
Belonging Package
github.com/Masterminds/squirrel
package squirrel
import (
)
type deleteData struct {
PlaceholderFormat PlaceholderFormat
RunWith BaseRunner
Prefixes []Sqlizer
From string
WhereParts []Sqlizer
OrderBys []string
Limit string
Offset string
Suffixes []Sqlizer
}
func ( *deleteData) () (sql.Result, error) {
if .RunWith == nil {
return nil, RunnerNotSet
}
return ExecWith(.RunWith, )
}
func ( *deleteData) () ( string, []interface{}, error) {
if len(.From) == 0 {
= fmt.Errorf("delete statements must specify a From table")
return
}
:= &bytes.Buffer{}
if len(.Prefixes) > 0 {
, = appendToSql(.Prefixes, , " ", )
if != nil {
return
}
.WriteString(" ")
}
.WriteString("DELETE FROM ")
.WriteString(.From)
if len(.WhereParts) > 0 {
.WriteString(" WHERE ")
, = appendToSql(.WhereParts, , " AND ", )
if != nil {
return
}
}
if len(.OrderBys) > 0 {
.WriteString(" ORDER BY ")
.WriteString(strings.Join(.OrderBys, ", "))
}
if len(.Limit) > 0 {
.WriteString(" LIMIT ")
.WriteString(.Limit)
}
if len(.Offset) > 0 {
.WriteString(" OFFSET ")
.WriteString(.Offset)
}
if len(.Suffixes) > 0 {
.WriteString(" ")
, = appendToSql(.Suffixes, , " ", )
if != nil {
return
}
}
, = .PlaceholderFormat.ReplacePlaceholders(.String())
return
}
type DeleteBuilder builder.Builder
func () {
builder.Register(DeleteBuilder{}, deleteData{})
}
func ( DeleteBuilder) ( PlaceholderFormat) DeleteBuilder {
return builder.Set(, "PlaceholderFormat", ).(DeleteBuilder)
}
func ( DeleteBuilder) ( BaseRunner) DeleteBuilder {
return setRunWith(, ).(DeleteBuilder)
}
func ( DeleteBuilder) () (sql.Result, error) {
:= builder.GetStruct().(deleteData)
return .Exec()
}
func ( DeleteBuilder) () (string, []interface{}, error) {
:= builder.GetStruct().(deleteData)
return .ToSql()
}
func ( DeleteBuilder) ( string, ...interface{}) DeleteBuilder {
return .PrefixExpr(Expr(, ...))
}
func ( DeleteBuilder) ( Sqlizer) DeleteBuilder {
return builder.Append(, "Prefixes", ).(DeleteBuilder)
}
func ( DeleteBuilder) ( string) DeleteBuilder {
return builder.Set(, "From", ).(DeleteBuilder)
}
func ( DeleteBuilder) ( interface{}, ...interface{}) DeleteBuilder {
return builder.Append(, "WhereParts", newWherePart(, ...)).(DeleteBuilder)
}
func ( DeleteBuilder) ( ...string) DeleteBuilder {
return builder.Extend(, "OrderBys", ).(DeleteBuilder)
}
func ( DeleteBuilder) ( uint64) DeleteBuilder {
return builder.Set(, "Limit", fmt.Sprintf("%d", )).(DeleteBuilder)
}
func ( DeleteBuilder) ( uint64) DeleteBuilder {
return builder.Set(, "Offset", fmt.Sprintf("%d", )).(DeleteBuilder)
}
func ( DeleteBuilder) ( string, ...interface{}) DeleteBuilder {
return .SuffixExpr(Expr(, ...))
}
func ( DeleteBuilder) ( Sqlizer) DeleteBuilder {
return builder.Append(, "Suffixes", ).(DeleteBuilder)
}
func ( DeleteBuilder) () (*sql.Rows, error) {
:= builder.GetStruct().(deleteData)
return .Query()
}
func ( *deleteData) () (*sql.Rows, error) {
if .RunWith == nil {
return nil, RunnerNotSet
}
return QueryWith(.RunWith, )
![]() |
The pages are generated with Golds v0.3.2-preview. (GOOS=darwin GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |