From 98a3ec059ca225078b08ee0b9643a1d37ac286b7 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Sat, 30 Dec 2023 17:35:25 +0800 Subject: [PATCH] Fix postgres --- internal/statements/update.go | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/internal/statements/update.go b/internal/statements/update.go index d39baa5f..91154c17 100644 --- a/internal/statements/update.go +++ b/internal/statements/update.go @@ -342,15 +342,11 @@ func (statement *Statement) writeUpdateTableName(updateWriter *builder.BytesWrit } func (statement *Statement) writeUpdateFrom(updateWriter *builder.BytesWriter) (builder.Cond, error) { - if len(statement.joins) == 0 { - return builder.NewCond(), nil - } - - if _, err := fmt.Fprint(updateWriter, " FROM"); err != nil { - return nil, err - } - if statement.dialect.URI().DBType == schemas.MSSQL { + if _, err := fmt.Fprint(updateWriter, " FROM"); err != nil { + return nil, err + } + if _, err := fmt.Fprint(updateWriter, " ", statement.quote(statement.TableName())); err != nil { return nil, err } @@ -361,6 +357,16 @@ func (statement *Statement) writeUpdateFrom(updateWriter *builder.BytesWriter) ( } } + if len(statement.joins) == 0 { + return builder.NewCond(), nil + } + + if statement.dialect.URI().DBType != schemas.MSSQL { + if _, err := fmt.Fprint(updateWriter, " FROM"); err != nil { + return nil, err + } + } + cond := builder.NewCond() for i, join := range statement.joins { if statement.dialect.URI().DBType == schemas.MSSQL || i > 0 {