some small refactors

This commit is contained in:
Lunny Xiao 2023-10-28 11:57:53 +08:00
parent 607f715634
commit 1a83881368
No known key found for this signature in database
GPG Key ID: C3B7C91B632F738A
3 changed files with 6 additions and 6 deletions

View File

@ -63,13 +63,12 @@ func (session *Session) delete(beans []interface{}, mustHaveConditions bool) (in
table := session.statement.RefTable table := session.statement.RefTable
realSQLWriter := builder.NewWriter() realSQLWriter := builder.NewWriter()
deleteSQLWriter := builder.NewWriter() if err := session.statement.WriteDelete(realSQLWriter, session.engine.nowTime); err != nil {
if err := session.statement.WriteDelete(realSQLWriter, deleteSQLWriter, session.engine.nowTime); err != nil {
return 0, err return 0, err
} }
if session.statement.GetUnscoped() || table == nil || table.DeletedColumn() == nil { // tag "deleted" is disabled // if tag "deleted" is enabled, then set the field as deleted value
} else { if !session.statement.GetUnscoped() && table != nil && table.DeletedColumn() != nil {
deletedColumn := table.DeletedColumn() deletedColumn := table.DeletedColumn()
_, t, err := session.engine.nowTime(deletedColumn) _, t, err := session.engine.nowTime(deletedColumn)
if err != nil { if err != nil {

View File

@ -23,7 +23,7 @@ import (
var ErrNoElementsOnSlice = errors.New("no element on slice when insert") var ErrNoElementsOnSlice = errors.New("no element on slice when insert")
// ErrPtrSliceType represents a type error // 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 // Insert insert one or more beans
func (session *Session) Insert(beans ...interface{}) (int64, error) { func (session *Session) Insert(beans ...interface{}) (int64, error) {

View File

@ -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() tableNameNoQuote := statement.TableName()
tableName := statement.dialect.Quoter().Quote(tableNameNoQuote) tableName := statement.dialect.Quoter().Quote(tableNameNoQuote)
table := statement.RefTable table := statement.RefTable
deleteSQLWriter := builder.NewWriter()
if _, err := fmt.Fprint(deleteSQLWriter, "DELETE FROM ", tableName); err != nil { if _, err := fmt.Fprint(deleteSQLWriter, "DELETE FROM ", tableName); err != nil {
return err return err
} }