123456789101112131415161718192021222324252627282930313233343536373839 |
- package clause
- import "strings"
- type Where struct {
- condition Clause
- }
- func NewWhere(condition Clause) *Where {
- return &Where{
- condition: condition,
- }
- }
- func (clause *Where) Clause() (string, error) {
- if clause.condition == nil {
- return "", nil
- }
- conditionClause, err := clause.condition.Clause()
- if err != nil {
- return "", err
- }
- clauseBuilder := strings.Builder{}
- clauseBuilder.WriteString("WHERE\n")
- clauseBuilder.WriteString(" " + conditionClause)
- clauseBuilder.WriteString("\n")
- return clauseBuilder.String(), nil
- }
- func (clause *Where) Args() []any {
- if clause.condition == nil {
- return make([]any, 0)
- }
- return clause.condition.Args()
- }
|