diff --git a/delete.go b/delete.go index 59e4b1c4..6a73bbd4 100644 --- a/delete.go +++ b/delete.go @@ -63,13 +63,12 @@ func (session *Session) delete(beans []interface{}, mustHaveConditions bool) (in table := session.statement.RefTable realSQLWriter := builder.NewWriter() - deleteSQLWriter := builder.NewWriter() - if err := session.statement.WriteDelete(realSQLWriter, deleteSQLWriter, session.engine.nowTime); err != nil { + if err := session.statement.WriteDelete(realSQLWriter, session.engine.nowTime); err != nil { return 0, err } - if session.statement.GetUnscoped() || table == nil || table.DeletedColumn() == nil { // tag "deleted" is disabled - } else { + // if tag "deleted" is enabled, then set the field as deleted value + if !session.statement.GetUnscoped() && table != nil && table.DeletedColumn() != nil { deletedColumn := table.DeletedColumn() _, t, err := session.engine.nowTime(deletedColumn) if err != nil { diff --git a/insert.go b/insert.go index ce5d81c7..bc5e6d16 100644 --- a/insert.go +++ b/insert.go @@ -23,7 +23,7 @@ import ( var ErrNoElementsOnSlice = errors.New("no element on slice when insert") // ErrPtrSliceType represents a type error -var ErrPtrSliceType = errors.New("A point to a slice is needed") +var ErrPtrSliceType = errors.New("a point to a slice is needed") // Insert insert one or more beans func (session *Session) Insert(beans ...interface{}) (int64, error) { diff --git a/internal/statements/delete.go b/internal/statements/delete.go index f1de09f1..7dbb3b97 100644 --- a/internal/statements/delete.go +++ b/internal/statements/delete.go @@ -84,10 +84,11 @@ func (statement *Statement) writeOrderCond(orderCondWriter *builder.BytesWriter, } } -func (statement *Statement) WriteDelete(realSQLWriter, deleteSQLWriter *builder.BytesWriter, nowTime func(*schemas.Column) (interface{}, time.Time, error)) error { +func (statement *Statement) WriteDelete(realSQLWriter *builder.BytesWriter, nowTime func(*schemas.Column) (interface{}, time.Time, error)) error { tableNameNoQuote := statement.TableName() tableName := statement.dialect.Quoter().Quote(tableNameNoQuote) table := statement.RefTable + deleteSQLWriter := builder.NewWriter() if _, err := fmt.Fprint(deleteSQLWriter, "DELETE FROM ", tableName); err != nil { return err }