mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	update latest xorm version to vendor (#2353)
This commit is contained in:
		
							
								
								
									
										156
									
								
								vendor/github.com/go-xorm/xorm/session_insert.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										156
									
								
								vendor/github.com/go-xorm/xorm/session_insert.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -19,7 +19,7 @@ func (session *Session) Insert(beans ...interface{}) (int64, error) {
 | 
			
		||||
	var affected int64
 | 
			
		||||
	var err error
 | 
			
		||||
 | 
			
		||||
	if session.IsAutoClose {
 | 
			
		||||
	if session.isAutoClose {
 | 
			
		||||
		defer session.Close()
 | 
			
		||||
	}
 | 
			
		||||
	defer session.resetStatement()
 | 
			
		||||
@@ -29,7 +29,7 @@ func (session *Session) Insert(beans ...interface{}) (int64, error) {
 | 
			
		||||
		if sliceValue.Kind() == reflect.Slice {
 | 
			
		||||
			size := sliceValue.Len()
 | 
			
		||||
			if size > 0 {
 | 
			
		||||
				if session.Engine.SupportInsertMany() {
 | 
			
		||||
				if session.engine.SupportInsertMany() {
 | 
			
		||||
					cnt, err := session.innerInsertMulti(bean)
 | 
			
		||||
					if err != nil {
 | 
			
		||||
						return affected, err
 | 
			
		||||
@@ -67,15 +67,15 @@ func (session *Session) innerInsertMulti(rowsSlicePtr interface{}) (int64, error
 | 
			
		||||
		return 0, errors.New("could not insert a empty slice")
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err := session.Statement.setRefValue(sliceValue.Index(0)); err != nil {
 | 
			
		||||
	if err := session.statement.setRefValue(reflect.ValueOf(sliceValue.Index(0).Interface())); err != nil {
 | 
			
		||||
		return 0, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if len(session.Statement.TableName()) <= 0 {
 | 
			
		||||
	if len(session.statement.TableName()) <= 0 {
 | 
			
		||||
		return 0, ErrTableNotFound
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	table := session.Statement.RefTable
 | 
			
		||||
	table := session.statement.RefTable
 | 
			
		||||
	size := sliceValue.Len()
 | 
			
		||||
 | 
			
		||||
	var colNames []string
 | 
			
		||||
@@ -116,18 +116,18 @@ func (session *Session) innerInsertMulti(rowsSlicePtr interface{}) (int64, error
 | 
			
		||||
				if col.IsDeleted {
 | 
			
		||||
					continue
 | 
			
		||||
				}
 | 
			
		||||
				if session.Statement.ColumnStr != "" {
 | 
			
		||||
					if _, ok := getFlagForColumn(session.Statement.columnMap, col); !ok {
 | 
			
		||||
				if session.statement.ColumnStr != "" {
 | 
			
		||||
					if _, ok := getFlagForColumn(session.statement.columnMap, col); !ok {
 | 
			
		||||
						continue
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
				if session.Statement.OmitStr != "" {
 | 
			
		||||
					if _, ok := getFlagForColumn(session.Statement.columnMap, col); ok {
 | 
			
		||||
				if session.statement.OmitStr != "" {
 | 
			
		||||
					if _, ok := getFlagForColumn(session.statement.columnMap, col); ok {
 | 
			
		||||
						continue
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
				if (col.IsCreated || col.IsUpdated) && session.Statement.UseAutoTime {
 | 
			
		||||
					val, t := session.Engine.NowTime2(col.SQLType.Name)
 | 
			
		||||
				if (col.IsCreated || col.IsUpdated) && session.statement.UseAutoTime {
 | 
			
		||||
					val, t := session.engine.NowTime2(col.SQLType.Name)
 | 
			
		||||
					args = append(args, val)
 | 
			
		||||
 | 
			
		||||
					var colName = col.Name
 | 
			
		||||
@@ -135,7 +135,7 @@ func (session *Session) innerInsertMulti(rowsSlicePtr interface{}) (int64, error
 | 
			
		||||
						col := table.GetColumn(colName)
 | 
			
		||||
						setColumnTime(bean, col, t)
 | 
			
		||||
					})
 | 
			
		||||
				} else if col.IsVersion && session.Statement.checkVersion {
 | 
			
		||||
				} else if col.IsVersion && session.statement.checkVersion {
 | 
			
		||||
					args = append(args, 1)
 | 
			
		||||
					var colName = col.Name
 | 
			
		||||
					session.afterClosures = append(session.afterClosures, func(bean interface{}) {
 | 
			
		||||
@@ -171,18 +171,18 @@ func (session *Session) innerInsertMulti(rowsSlicePtr interface{}) (int64, error
 | 
			
		||||
				if col.IsDeleted {
 | 
			
		||||
					continue
 | 
			
		||||
				}
 | 
			
		||||
				if session.Statement.ColumnStr != "" {
 | 
			
		||||
					if _, ok := getFlagForColumn(session.Statement.columnMap, col); !ok {
 | 
			
		||||
				if session.statement.ColumnStr != "" {
 | 
			
		||||
					if _, ok := getFlagForColumn(session.statement.columnMap, col); !ok {
 | 
			
		||||
						continue
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
				if session.Statement.OmitStr != "" {
 | 
			
		||||
					if _, ok := getFlagForColumn(session.Statement.columnMap, col); ok {
 | 
			
		||||
				if session.statement.OmitStr != "" {
 | 
			
		||||
					if _, ok := getFlagForColumn(session.statement.columnMap, col); ok {
 | 
			
		||||
						continue
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
				if (col.IsCreated || col.IsUpdated) && session.Statement.UseAutoTime {
 | 
			
		||||
					val, t := session.Engine.NowTime2(col.SQLType.Name)
 | 
			
		||||
				if (col.IsCreated || col.IsUpdated) && session.statement.UseAutoTime {
 | 
			
		||||
					val, t := session.engine.NowTime2(col.SQLType.Name)
 | 
			
		||||
					args = append(args, val)
 | 
			
		||||
 | 
			
		||||
					var colName = col.Name
 | 
			
		||||
@@ -190,7 +190,7 @@ func (session *Session) innerInsertMulti(rowsSlicePtr interface{}) (int64, error
 | 
			
		||||
						col := table.GetColumn(colName)
 | 
			
		||||
						setColumnTime(bean, col, t)
 | 
			
		||||
					})
 | 
			
		||||
				} else if col.IsVersion && session.Statement.checkVersion {
 | 
			
		||||
				} else if col.IsVersion && session.statement.checkVersion {
 | 
			
		||||
					args = append(args, 1)
 | 
			
		||||
					var colName = col.Name
 | 
			
		||||
					session.afterClosures = append(session.afterClosures, func(bean interface{}) {
 | 
			
		||||
@@ -214,25 +214,25 @@ func (session *Session) innerInsertMulti(rowsSlicePtr interface{}) (int64, error
 | 
			
		||||
 | 
			
		||||
	var sql = "INSERT INTO %s (%v%v%v) VALUES (%v)"
 | 
			
		||||
	var statement string
 | 
			
		||||
	if session.Engine.dialect.DBType() == core.ORACLE {
 | 
			
		||||
	if session.engine.dialect.DBType() == core.ORACLE {
 | 
			
		||||
		sql = "INSERT ALL INTO %s (%v%v%v) VALUES (%v) SELECT 1 FROM DUAL"
 | 
			
		||||
		temp := fmt.Sprintf(") INTO %s (%v%v%v) VALUES (",
 | 
			
		||||
			session.Engine.Quote(session.Statement.TableName()),
 | 
			
		||||
			session.Engine.QuoteStr(),
 | 
			
		||||
			strings.Join(colNames, session.Engine.QuoteStr()+", "+session.Engine.QuoteStr()),
 | 
			
		||||
			session.Engine.QuoteStr())
 | 
			
		||||
			session.engine.Quote(session.statement.TableName()),
 | 
			
		||||
			session.engine.QuoteStr(),
 | 
			
		||||
			strings.Join(colNames, session.engine.QuoteStr()+", "+session.engine.QuoteStr()),
 | 
			
		||||
			session.engine.QuoteStr())
 | 
			
		||||
		statement = fmt.Sprintf(sql,
 | 
			
		||||
			session.Engine.Quote(session.Statement.TableName()),
 | 
			
		||||
			session.Engine.QuoteStr(),
 | 
			
		||||
			strings.Join(colNames, session.Engine.QuoteStr()+", "+session.Engine.QuoteStr()),
 | 
			
		||||
			session.Engine.QuoteStr(),
 | 
			
		||||
			session.engine.Quote(session.statement.TableName()),
 | 
			
		||||
			session.engine.QuoteStr(),
 | 
			
		||||
			strings.Join(colNames, session.engine.QuoteStr()+", "+session.engine.QuoteStr()),
 | 
			
		||||
			session.engine.QuoteStr(),
 | 
			
		||||
			strings.Join(colMultiPlaces, temp))
 | 
			
		||||
	} else {
 | 
			
		||||
		statement = fmt.Sprintf(sql,
 | 
			
		||||
			session.Engine.Quote(session.Statement.TableName()),
 | 
			
		||||
			session.Engine.QuoteStr(),
 | 
			
		||||
			strings.Join(colNames, session.Engine.QuoteStr()+", "+session.Engine.QuoteStr()),
 | 
			
		||||
			session.Engine.QuoteStr(),
 | 
			
		||||
			session.engine.Quote(session.statement.TableName()),
 | 
			
		||||
			session.engine.QuoteStr(),
 | 
			
		||||
			strings.Join(colNames, session.engine.QuoteStr()+", "+session.engine.QuoteStr()),
 | 
			
		||||
			session.engine.QuoteStr(),
 | 
			
		||||
			strings.Join(colMultiPlaces, "),("))
 | 
			
		||||
	}
 | 
			
		||||
	res, err := session.exec(statement, args...)
 | 
			
		||||
@@ -240,8 +240,8 @@ func (session *Session) innerInsertMulti(rowsSlicePtr interface{}) (int64, error
 | 
			
		||||
		return 0, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if cacher := session.Engine.getCacher2(table); cacher != nil && session.Statement.UseCache {
 | 
			
		||||
		session.cacheInsert(session.Statement.TableName())
 | 
			
		||||
	if cacher := session.engine.getCacher2(table); cacher != nil && session.statement.UseCache {
 | 
			
		||||
		session.cacheInsert(session.statement.TableName())
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	lenAfterClosures := len(session.afterClosures)
 | 
			
		||||
@@ -249,7 +249,7 @@ func (session *Session) innerInsertMulti(rowsSlicePtr interface{}) (int64, error
 | 
			
		||||
		elemValue := reflect.Indirect(sliceValue.Index(i)).Addr().Interface()
 | 
			
		||||
 | 
			
		||||
		// handle AfterInsertProcessor
 | 
			
		||||
		if session.IsAutoCommit {
 | 
			
		||||
		if session.isAutoCommit {
 | 
			
		||||
			// !nashtsai! does user expect it's same slice to passed closure when using Before()/After() when insert multi??
 | 
			
		||||
			for _, closure := range session.afterClosures {
 | 
			
		||||
				closure(elemValue)
 | 
			
		||||
@@ -281,7 +281,7 @@ func (session *Session) innerInsertMulti(rowsSlicePtr interface{}) (int64, error
 | 
			
		||||
// InsertMulti insert multiple records
 | 
			
		||||
func (session *Session) InsertMulti(rowsSlicePtr interface{}) (int64, error) {
 | 
			
		||||
	defer session.resetStatement()
 | 
			
		||||
	if session.IsAutoClose {
 | 
			
		||||
	if session.isAutoClose {
 | 
			
		||||
		defer session.Close()
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -299,14 +299,14 @@ func (session *Session) InsertMulti(rowsSlicePtr interface{}) (int64, error) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (session *Session) innerInsert(bean interface{}) (int64, error) {
 | 
			
		||||
	if err := session.Statement.setRefValue(rValue(bean)); err != nil {
 | 
			
		||||
	if err := session.statement.setRefValue(rValue(bean)); err != nil {
 | 
			
		||||
		return 0, err
 | 
			
		||||
	}
 | 
			
		||||
	if len(session.Statement.TableName()) <= 0 {
 | 
			
		||||
	if len(session.statement.TableName()) <= 0 {
 | 
			
		||||
		return 0, ErrTableNotFound
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	table := session.Statement.RefTable
 | 
			
		||||
	table := session.statement.RefTable
 | 
			
		||||
 | 
			
		||||
	// handle BeforeInsertProcessor
 | 
			
		||||
	for _, closure := range session.beforeClosures {
 | 
			
		||||
@@ -318,12 +318,12 @@ func (session *Session) innerInsert(bean interface{}) (int64, error) {
 | 
			
		||||
		processor.BeforeInsert()
 | 
			
		||||
	}
 | 
			
		||||
	// --
 | 
			
		||||
	colNames, args, err := genCols(session.Statement.RefTable, session, bean, false, false)
 | 
			
		||||
	colNames, args, err := genCols(session.statement.RefTable, session, bean, false, false)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return 0, err
 | 
			
		||||
	}
 | 
			
		||||
	// insert expr columns, override if exists
 | 
			
		||||
	exprColumns := session.Statement.getExpr()
 | 
			
		||||
	exprColumns := session.statement.getExpr()
 | 
			
		||||
	exprColVals := make([]string, 0, len(exprColumns))
 | 
			
		||||
	for _, v := range exprColumns {
 | 
			
		||||
		// remove the expr columns
 | 
			
		||||
@@ -343,18 +343,29 @@ func (session *Session) innerInsert(bean interface{}) (int64, error) {
 | 
			
		||||
	if len(exprColVals) > 0 {
 | 
			
		||||
		colPlaces = colPlaces + strings.Join(exprColVals, ", ")
 | 
			
		||||
	} else {
 | 
			
		||||
		colPlaces = colPlaces[0 : len(colPlaces)-2]
 | 
			
		||||
		if len(colPlaces) > 0 {
 | 
			
		||||
			colPlaces = colPlaces[0 : len(colPlaces)-2]
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	sqlStr := fmt.Sprintf("INSERT INTO %s (%v%v%v) VALUES (%v)",
 | 
			
		||||
		session.Engine.Quote(session.Statement.TableName()),
 | 
			
		||||
		session.Engine.QuoteStr(),
 | 
			
		||||
		strings.Join(colNames, session.Engine.Quote(", ")),
 | 
			
		||||
		session.Engine.QuoteStr(),
 | 
			
		||||
		colPlaces)
 | 
			
		||||
	var sqlStr string
 | 
			
		||||
	if len(colPlaces) > 0 {
 | 
			
		||||
		sqlStr = fmt.Sprintf("INSERT INTO %s (%v%v%v) VALUES (%v)",
 | 
			
		||||
			session.engine.Quote(session.statement.TableName()),
 | 
			
		||||
			session.engine.QuoteStr(),
 | 
			
		||||
			strings.Join(colNames, session.engine.Quote(", ")),
 | 
			
		||||
			session.engine.QuoteStr(),
 | 
			
		||||
			colPlaces)
 | 
			
		||||
	} else {
 | 
			
		||||
		if session.engine.dialect.DBType() == core.MYSQL {
 | 
			
		||||
			sqlStr = fmt.Sprintf("INSERT INTO %s VALUES ()", session.engine.Quote(session.statement.TableName()))
 | 
			
		||||
		} else {
 | 
			
		||||
			sqlStr = fmt.Sprintf("INSERT INTO %s DEFAULT VALUES", session.engine.Quote(session.statement.TableName()))
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	handleAfterInsertProcessorFunc := func(bean interface{}) {
 | 
			
		||||
		if session.IsAutoCommit {
 | 
			
		||||
		if session.isAutoCommit {
 | 
			
		||||
			for _, closure := range session.afterClosures {
 | 
			
		||||
				closure(bean)
 | 
			
		||||
			}
 | 
			
		||||
@@ -383,8 +394,7 @@ func (session *Session) innerInsert(bean interface{}) (int64, error) {
 | 
			
		||||
 | 
			
		||||
	// for postgres, many of them didn't implement lastInsertId, so we should
 | 
			
		||||
	// implemented it ourself.
 | 
			
		||||
	if session.Engine.dialect.DBType() == core.ORACLE && len(table.AutoIncrement) > 0 {
 | 
			
		||||
		//assert table.AutoIncrement != ""
 | 
			
		||||
	if session.engine.dialect.DBType() == core.ORACLE && len(table.AutoIncrement) > 0 {
 | 
			
		||||
		res, err := session.query("select seq_atable.currval from dual", args...)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return 0, err
 | 
			
		||||
@@ -392,14 +402,14 @@ func (session *Session) innerInsert(bean interface{}) (int64, error) {
 | 
			
		||||
 | 
			
		||||
		handleAfterInsertProcessorFunc(bean)
 | 
			
		||||
 | 
			
		||||
		if cacher := session.Engine.getCacher2(table); cacher != nil && session.Statement.UseCache {
 | 
			
		||||
			session.cacheInsert(session.Statement.TableName())
 | 
			
		||||
		if cacher := session.engine.getCacher2(table); cacher != nil && session.statement.UseCache {
 | 
			
		||||
			session.cacheInsert(session.statement.TableName())
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if table.Version != "" && session.Statement.checkVersion {
 | 
			
		||||
		if table.Version != "" && session.statement.checkVersion {
 | 
			
		||||
			verValue, err := table.VersionColumn().ValueOf(bean)
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				session.Engine.logger.Error(err)
 | 
			
		||||
				session.engine.logger.Error(err)
 | 
			
		||||
			} else if verValue.IsValid() && verValue.CanSet() {
 | 
			
		||||
				verValue.SetInt(1)
 | 
			
		||||
			}
 | 
			
		||||
@@ -417,7 +427,7 @@ func (session *Session) innerInsert(bean interface{}) (int64, error) {
 | 
			
		||||
 | 
			
		||||
		aiValue, err := table.AutoIncrColumn().ValueOf(bean)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			session.Engine.logger.Error(err)
 | 
			
		||||
			session.engine.logger.Error(err)
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if aiValue == nil || !aiValue.IsValid() || !aiValue.CanSet() {
 | 
			
		||||
@@ -427,9 +437,9 @@ func (session *Session) innerInsert(bean interface{}) (int64, error) {
 | 
			
		||||
		aiValue.Set(int64ToIntValue(id, aiValue.Type()))
 | 
			
		||||
 | 
			
		||||
		return 1, nil
 | 
			
		||||
	} else if session.Engine.dialect.DBType() == core.POSTGRES && len(table.AutoIncrement) > 0 {
 | 
			
		||||
	} else if session.engine.dialect.DBType() == core.POSTGRES && len(table.AutoIncrement) > 0 {
 | 
			
		||||
		//assert table.AutoIncrement != ""
 | 
			
		||||
		sqlStr = sqlStr + " RETURNING " + session.Engine.Quote(table.AutoIncrement)
 | 
			
		||||
		sqlStr = sqlStr + " RETURNING " + session.engine.Quote(table.AutoIncrement)
 | 
			
		||||
		res, err := session.query(sqlStr, args...)
 | 
			
		||||
 | 
			
		||||
		if err != nil {
 | 
			
		||||
@@ -437,14 +447,14 @@ func (session *Session) innerInsert(bean interface{}) (int64, error) {
 | 
			
		||||
		}
 | 
			
		||||
		handleAfterInsertProcessorFunc(bean)
 | 
			
		||||
 | 
			
		||||
		if cacher := session.Engine.getCacher2(table); cacher != nil && session.Statement.UseCache {
 | 
			
		||||
			session.cacheInsert(session.Statement.TableName())
 | 
			
		||||
		if cacher := session.engine.getCacher2(table); cacher != nil && session.statement.UseCache {
 | 
			
		||||
			session.cacheInsert(session.statement.TableName())
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if table.Version != "" && session.Statement.checkVersion {
 | 
			
		||||
		if table.Version != "" && session.statement.checkVersion {
 | 
			
		||||
			verValue, err := table.VersionColumn().ValueOf(bean)
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				session.Engine.logger.Error(err)
 | 
			
		||||
				session.engine.logger.Error(err)
 | 
			
		||||
			} else if verValue.IsValid() && verValue.CanSet() {
 | 
			
		||||
				verValue.SetInt(1)
 | 
			
		||||
			}
 | 
			
		||||
@@ -462,7 +472,7 @@ func (session *Session) innerInsert(bean interface{}) (int64, error) {
 | 
			
		||||
 | 
			
		||||
		aiValue, err := table.AutoIncrColumn().ValueOf(bean)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			session.Engine.logger.Error(err)
 | 
			
		||||
			session.engine.logger.Error(err)
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if aiValue == nil || !aiValue.IsValid() || !aiValue.CanSet() {
 | 
			
		||||
@@ -480,14 +490,14 @@ func (session *Session) innerInsert(bean interface{}) (int64, error) {
 | 
			
		||||
 | 
			
		||||
		defer handleAfterInsertProcessorFunc(bean)
 | 
			
		||||
 | 
			
		||||
		if cacher := session.Engine.getCacher2(table); cacher != nil && session.Statement.UseCache {
 | 
			
		||||
			session.cacheInsert(session.Statement.TableName())
 | 
			
		||||
		if cacher := session.engine.getCacher2(table); cacher != nil && session.statement.UseCache {
 | 
			
		||||
			session.cacheInsert(session.statement.TableName())
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if table.Version != "" && session.Statement.checkVersion {
 | 
			
		||||
		if table.Version != "" && session.statement.checkVersion {
 | 
			
		||||
			verValue, err := table.VersionColumn().ValueOf(bean)
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				session.Engine.logger.Error(err)
 | 
			
		||||
				session.engine.logger.Error(err)
 | 
			
		||||
			} else if verValue.IsValid() && verValue.CanSet() {
 | 
			
		||||
				verValue.SetInt(1)
 | 
			
		||||
			}
 | 
			
		||||
@@ -505,7 +515,7 @@ func (session *Session) innerInsert(bean interface{}) (int64, error) {
 | 
			
		||||
 | 
			
		||||
		aiValue, err := table.AutoIncrColumn().ValueOf(bean)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			session.Engine.logger.Error(err)
 | 
			
		||||
			session.engine.logger.Error(err)
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if aiValue == nil || !aiValue.IsValid() || !aiValue.CanSet() {
 | 
			
		||||
@@ -523,7 +533,7 @@ func (session *Session) innerInsert(bean interface{}) (int64, error) {
 | 
			
		||||
// parameter is inserted and error
 | 
			
		||||
func (session *Session) InsertOne(bean interface{}) (int64, error) {
 | 
			
		||||
	defer session.resetStatement()
 | 
			
		||||
	if session.IsAutoClose {
 | 
			
		||||
	if session.isAutoClose {
 | 
			
		||||
		defer session.Close()
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -531,15 +541,15 @@ func (session *Session) InsertOne(bean interface{}) (int64, error) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (session *Session) cacheInsert(tables ...string) error {
 | 
			
		||||
	if session.Statement.RefTable == nil {
 | 
			
		||||
	if session.statement.RefTable == nil {
 | 
			
		||||
		return ErrCacheFailed
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	table := session.Statement.RefTable
 | 
			
		||||
	cacher := session.Engine.getCacher2(table)
 | 
			
		||||
	table := session.statement.RefTable
 | 
			
		||||
	cacher := session.engine.getCacher2(table)
 | 
			
		||||
 | 
			
		||||
	for _, t := range tables {
 | 
			
		||||
		session.Engine.logger.Debug("[cache] clear sql:", t)
 | 
			
		||||
		session.engine.logger.Debug("[cache] clear sql:", t)
 | 
			
		||||
		cacher.ClearIds(t)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user