Source File
case.go
Belonging Package
github.com/Masterminds/squirrel
package squirrel
import (
)
func () {
builder.Register(CaseBuilder{}, caseData{})
}
func ( *caseData) () ( string, []interface{}, error) {
if len(.WhenParts) == 0 {
= errors.New("case expression must contain at lease one WHEN clause")
return
}
:= sqlizerBuffer{}
.WriteString("CASE ")
if .What != nil {
.WriteSql(.What)
}
for , := range .WhenParts {
.WriteString("WHEN ")
.WriteSql(.when)
.WriteString("THEN ")
.WriteSql(.then)
}
if .Else != nil {
.WriteString("ELSE ")
.WriteSql(.Else)
}
.WriteString("END")
return .ToSql()
}
type CaseBuilder builder.Builder
func ( CaseBuilder) ( interface{}) CaseBuilder {
return builder.Set(, "What", newPart()).(CaseBuilder)
}
return builder.Append(, "WhenParts", newWhenPart(, )).(CaseBuilder)
}
func ( CaseBuilder) ( interface{}) CaseBuilder {
return builder.Set(, "Else", newPart()).(CaseBuilder)
![]() |
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. |