From 6c9528c6c9f503b10867d0c0001162e450180cbf Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Mon, 24 Jul 2023 15:32:35 +0800 Subject: [PATCH] Fix tests --- internal/statements/query.go | 2 +- internal/statements/update.go | 5 +++-- session_update.go | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/internal/statements/query.go b/internal/statements/query.go index 87e2d80f..0f4c40b1 100644 --- a/internal/statements/query.go +++ b/internal/statements/query.go @@ -244,7 +244,7 @@ func (statement *Statement) writeSelectColumns(w *builder.BytesWriter, columnStr } func (statement *Statement) writeWhereCond(w *builder.BytesWriter, cond builder.Cond) error { - if !statement.cond.IsValid() { + if !cond.IsValid() { return nil } diff --git a/internal/statements/update.go b/internal/statements/update.go index 6ee73e96..1eb431a8 100644 --- a/internal/statements/update.go +++ b/internal/statements/update.go @@ -427,8 +427,8 @@ func (statement *Statement) writeUpdateLimit(updateWriter *builder.BytesWriter, } } -func (statement *Statement) WriteUpdate(updateWriter *builder.BytesWriter, cond builder.Cond, colNames []string) error { - if _, err := fmt.Fprintf(updateWriter, "UPDATE "); err != nil { +func (statement *Statement) WriteUpdate(updateWriter *builder.BytesWriter, cond builder.Cond, colNames []string, args []interface{}) error { + if _, err := fmt.Fprintf(updateWriter, "UPDATE"); err != nil { return err } @@ -454,6 +454,7 @@ func (statement *Statement) WriteUpdate(updateWriter *builder.BytesWriter, cond return err } } + updateWriter.Append(args...) // write from if err := statement.writeUpdateFrom(updateWriter); err != nil { diff --git a/session_update.go b/session_update.go index 9a6964f1..97c55eb4 100644 --- a/session_update.go +++ b/session_update.go @@ -227,14 +227,14 @@ func (session *Session) Update(bean interface{}, condiBean ...interface{}) (int6 } updateWriter := builder.NewWriter() - if err := session.statement.WriteUpdate(updateWriter, cond, colNames); err != nil { + if err := session.statement.WriteUpdate(updateWriter, cond, colNames, args); err != nil { return 0, err } tableName := session.statement.TableName() // table name must been get before exec because statement will be reset useCache := session.statement.UseCache - res, err := session.exec(updateWriter.String(), append(args, updateWriter.Args()...)...) + res, err := session.exec(updateWriter.String(), updateWriter.Args()...) if err != nil { return 0, err } else if doIncVer {