1
// Copyright 2016 The Xorm Authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style
3
// license that can be found in the LICENSE file.
9
// Neq defines not equal conditions
10
type Neq map[string]interface{}
14
// WriteTo writes SQL to Writer
15
func (neq Neq) WriteTo(w Writer) error {
16
var args = make([]interface{}, 0, len(neq))
18
for k, v := range neq {
20
case []int, []int64, []string, []int32, []int16, []int8:
21
if err := NotIn(k, v).WriteTo(w); err != nil {
25
if _, err := fmt.Fprintf(w, "%s<>(", k); err != nil {
29
if err := v.(expr).WriteTo(w); err != nil {
33
if _, err := fmt.Fprintf(w, ")"); err != nil {
37
if _, err := fmt.Fprintf(w, "%s<>(", k); err != nil {
41
if err := v.(*Builder).WriteTo(w); err != nil {
45
if _, err := fmt.Fprintf(w, ")"); err != nil {
49
if _, err := fmt.Fprintf(w, "%s<>?", k); err != nil {
52
args = append(args, v)
55
if _, err := fmt.Fprint(w, " AND "); err != nil {
65
// And implements And with other conditions
66
func (neq Neq) And(conds ...Cond) Cond {
67
return And(neq, And(conds...))
70
// Or implements Or with other conditions
71
func (neq Neq) Or(conds ...Cond) Cond {
72
return Or(neq, Or(conds...))
75
// IsValid tests if this condition is valid
76
func (neq Neq) IsValid() bool {