From bcfbae23f35d55b97ee6d116642a1039e746fa30 Mon Sep 17 00:00:00 2001 From: simmyan <8966188@qq.com> Date: Mon, 1 Jan 2024 16:07:31 +0800 Subject: [PATCH] Add X() to new builder (#66) --- README.md | 2 +- builder_x.go | 11 ++++++++--- cond_builder.go | 2 +- oper.go | 2 +- to_sql.go | 2 +- 5 files changed, 12 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index b36e37a..a6a465d 100644 --- a/README.md +++ b/README.md @@ -151,7 +151,7 @@ func main() { sb.Select("id","type").From("t_pet").Gt("id", 10000) //.... } - builder := Of(nil). + builder := X(). Select("p.id","p.weight"). FromX(func(fb *FromBuilder) { fb. diff --git a/builder_x.go b/builder_x.go index 30c3315..624c480 100644 --- a/builder_x.go +++ b/builder_x.go @@ -38,9 +38,7 @@ type BuilderX struct { } func Of(tableNameOrPo interface{}) *BuilderX { - x := new(BuilderX) - x.bbs = []Bb{} - x.sxs = []*FromX{} + x := X() if tableNameOrPo != nil { switch tableNameOrPo.(type) { case string: @@ -52,6 +50,13 @@ func Of(tableNameOrPo interface{}) *BuilderX { return x } +func X() *BuilderX { + x := new(BuilderX) + x.bbs = []Bb{} + x.sxs = []*FromX{} + return x +} + func (x *BuilderX) FromX(fromX func(fb *FromBuilder)) *BuilderX { if len(x.sxs) == 0 { diff --git a/cond_builder.go b/cond_builder.go index 18ad945..991bd05 100644 --- a/cond_builder.go +++ b/cond_builder.go @@ -255,7 +255,7 @@ func (cb *CondBuilder) NonNull(key string) *CondBuilder { func (cb *CondBuilder) X(k string, vs ...interface{}) *CondBuilder { bb := Bb{ - op: X, + op: XX, key: k, value: vs, } diff --git a/oper.go b/oper.go index 77e4ec6..83bc57e 100644 --- a/oper.go +++ b/oper.go @@ -17,7 +17,7 @@ package sqlxb const ( - X = "" + XX = "" AGG = "" SUB = "SUB" AND = "AND" diff --git a/to_sql.go b/to_sql.go index 15081fc..2531ae6 100644 --- a/to_sql.go +++ b/to_sql.go @@ -76,7 +76,7 @@ func (built *Built) toFromSql(vs *[]interface{}, bp *strings.Builder) { func (built *Built) toBb(bb Bb, bp *strings.Builder, vs *[]interface{}) { op := bb.op switch op { - case X: + case XX: bp.WriteString(bb.key) if vs != nil && bb.value != nil { arr := bb.value.([]interface{})