diff options
author | Unknwon <u@gogs.io> | 2017-06-07 01:19:32 -0400 |
---|---|---|
committer | Unknwon <u@gogs.io> | 2017-06-07 01:19:32 -0400 |
commit | b40dc550ed15efd2c6faa1ea619888a400499a84 (patch) | |
tree | a5a064eed5e4e913fdbba23f8ab278844655863d /vendor/github.com/go-xorm/builder/cond_in.go | |
parent | c210984b40a23f20bebe1f905ff6b1297c3ad901 (diff) |
vendor: update github.com/go-xorm/* (#4419)
Diffstat (limited to 'vendor/github.com/go-xorm/builder/cond_in.go')
-rw-r--r-- | vendor/github.com/go-xorm/builder/cond_in.go | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/vendor/github.com/go-xorm/builder/cond_in.go b/vendor/github.com/go-xorm/builder/cond_in.go index 692d2e28..f6366d35 100644 --- a/vendor/github.com/go-xorm/builder/cond_in.go +++ b/vendor/github.com/go-xorm/builder/cond_in.go @@ -22,16 +22,21 @@ func In(col string, values ...interface{}) Cond { return condIn{col, values} } +func (condIn condIn) handleBlank(w Writer) error { + _, err := fmt.Fprint(w, "0=1") + return err +} + func (condIn condIn) WriteTo(w Writer) error { if len(condIn.vals) <= 0 { - return ErrNoInConditions + return condIn.handleBlank(w) } switch condIn.vals[0].(type) { case []int8: vals := condIn.vals[0].([]int8) if len(vals) <= 0 { - return ErrNoInConditions + return condIn.handleBlank(w) } questionMark := strings.Repeat("?,", len(vals)) if _, err := fmt.Fprintf(w, "%s IN (%s)", condIn.col, questionMark[:len(questionMark)-1]); err != nil { @@ -43,7 +48,7 @@ func (condIn condIn) WriteTo(w Writer) error { case []int16: vals := condIn.vals[0].([]int16) if len(vals) <= 0 { - return ErrNoInConditions + return condIn.handleBlank(w) } questionMark := strings.Repeat("?,", len(vals)) if _, err := fmt.Fprintf(w, "%s IN (%s)", condIn.col, questionMark[:len(questionMark)-1]); err != nil { @@ -55,7 +60,7 @@ func (condIn condIn) WriteTo(w Writer) error { case []int: vals := condIn.vals[0].([]int) if len(vals) <= 0 { - return ErrNoInConditions + return condIn.handleBlank(w) } questionMark := strings.Repeat("?,", len(vals)) if _, err := fmt.Fprintf(w, "%s IN (%s)", condIn.col, questionMark[:len(questionMark)-1]); err != nil { @@ -67,7 +72,7 @@ func (condIn condIn) WriteTo(w Writer) error { case []int32: vals := condIn.vals[0].([]int32) if len(vals) <= 0 { - return ErrNoInConditions + return condIn.handleBlank(w) } questionMark := strings.Repeat("?,", len(vals)) if _, err := fmt.Fprintf(w, "%s IN (%s)", condIn.col, questionMark[:len(questionMark)-1]); err != nil { @@ -79,7 +84,7 @@ func (condIn condIn) WriteTo(w Writer) error { case []int64: vals := condIn.vals[0].([]int64) if len(vals) <= 0 { - return ErrNoInConditions + return condIn.handleBlank(w) } questionMark := strings.Repeat("?,", len(vals)) if _, err := fmt.Fprintf(w, "%s IN (%s)", condIn.col, questionMark[:len(questionMark)-1]); err != nil { @@ -91,7 +96,7 @@ func (condIn condIn) WriteTo(w Writer) error { case []uint8: vals := condIn.vals[0].([]uint8) if len(vals) <= 0 { - return ErrNoInConditions + return condIn.handleBlank(w) } questionMark := strings.Repeat("?,", len(vals)) if _, err := fmt.Fprintf(w, "%s IN (%s)", condIn.col, questionMark[:len(questionMark)-1]); err != nil { @@ -103,7 +108,7 @@ func (condIn condIn) WriteTo(w Writer) error { case []uint16: vals := condIn.vals[0].([]uint16) if len(vals) <= 0 { - return ErrNoInConditions + return condIn.handleBlank(w) } questionMark := strings.Repeat("?,", len(vals)) if _, err := fmt.Fprintf(w, "%s IN (%s)", condIn.col, questionMark[:len(questionMark)-1]); err != nil { @@ -115,7 +120,7 @@ func (condIn condIn) WriteTo(w Writer) error { case []uint: vals := condIn.vals[0].([]uint) if len(vals) <= 0 { - return ErrNoInConditions + return condIn.handleBlank(w) } questionMark := strings.Repeat("?,", len(vals)) if _, err := fmt.Fprintf(w, "%s IN (%s)", condIn.col, questionMark[:len(questionMark)-1]); err != nil { @@ -127,7 +132,7 @@ func (condIn condIn) WriteTo(w Writer) error { case []uint32: vals := condIn.vals[0].([]uint32) if len(vals) <= 0 { - return ErrNoInConditions + return condIn.handleBlank(w) } questionMark := strings.Repeat("?,", len(vals)) if _, err := fmt.Fprintf(w, "%s IN (%s)", condIn.col, questionMark[:len(questionMark)-1]); err != nil { @@ -139,7 +144,7 @@ func (condIn condIn) WriteTo(w Writer) error { case []uint64: vals := condIn.vals[0].([]uint64) if len(vals) <= 0 { - return ErrNoInConditions + return condIn.handleBlank(w) } questionMark := strings.Repeat("?,", len(vals)) if _, err := fmt.Fprintf(w, "%s IN (%s)", condIn.col, questionMark[:len(questionMark)-1]); err != nil { @@ -151,7 +156,7 @@ func (condIn condIn) WriteTo(w Writer) error { case []string: vals := condIn.vals[0].([]string) if len(vals) <= 0 { - return ErrNoInConditions + return condIn.handleBlank(w) } questionMark := strings.Repeat("?,", len(vals)) if _, err := fmt.Fprintf(w, "%s IN (%s)", condIn.col, questionMark[:len(questionMark)-1]); err != nil { @@ -163,7 +168,7 @@ func (condIn condIn) WriteTo(w Writer) error { case []interface{}: vals := condIn.vals[0].([]interface{}) if len(vals) <= 0 { - return ErrNoInConditions + return condIn.handleBlank(w) } questionMark := strings.Repeat("?,", len(vals)) if _, err := fmt.Fprintf(w, "%s IN (%s)", condIn.col, questionMark[:len(questionMark)-1]); err != nil { @@ -193,13 +198,12 @@ func (condIn condIn) WriteTo(w Writer) error { return err } default: - if len(condIn.vals) <= 0 { - return ErrNoInConditions - } - v := reflect.ValueOf(condIn.vals[0]) if v.Kind() == reflect.Slice { l := v.Len() + if l == 0 { + return condIn.handleBlank(w) + } questionMark := strings.Repeat("?,", l) if _, err := fmt.Fprintf(w, "%s IN (%s)", condIn.col, questionMark[:len(questionMark)-1]); err != nil { |