Fix postgres

This commit is contained in:
Lunny Xiao 2023-12-30 17:35:25 +08:00
parent a257954fcf
commit 98a3ec059c
No known key found for this signature in database
GPG Key ID: C3B7C91B632F738A
1 changed files with 14 additions and 8 deletions

View File

@ -342,15 +342,11 @@ func (statement *Statement) writeUpdateTableName(updateWriter *builder.BytesWrit
} }
func (statement *Statement) writeUpdateFrom(updateWriter *builder.BytesWriter) (builder.Cond, error) { func (statement *Statement) writeUpdateFrom(updateWriter *builder.BytesWriter) (builder.Cond, error) {
if len(statement.joins) == 0 { if statement.dialect.URI().DBType == schemas.MSSQL {
return builder.NewCond(), nil
}
if _, err := fmt.Fprint(updateWriter, " FROM"); err != nil { if _, err := fmt.Fprint(updateWriter, " FROM"); err != nil {
return nil, err return nil, err
} }
if statement.dialect.URI().DBType == schemas.MSSQL {
if _, err := fmt.Fprint(updateWriter, " ", statement.quote(statement.TableName())); err != nil { if _, err := fmt.Fprint(updateWriter, " ", statement.quote(statement.TableName())); err != nil {
return nil, err 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() cond := builder.NewCond()
for i, join := range statement.joins { for i, join := range statement.joins {
if statement.dialect.URI().DBType == schemas.MSSQL || i > 0 { if statement.dialect.URI().DBType == schemas.MSSQL || i > 0 {