package callbacks

import (
	
)

func ( *gorm.DB) {
	if !.Config.SkipDefaultTransaction && .Error == nil {
		if  := .Begin(); .Error == nil {
			.Statement.ConnPool = .Statement.ConnPool
			.InstanceSet("gorm:started_transaction", true)
		} else if .Error == gorm.ErrInvalidTransaction {
			.Error = nil
		} else {
			.Error = .Error
		}
	}
}

func ( *gorm.DB) {
	if !.Config.SkipDefaultTransaction {
		if ,  := .InstanceGet("gorm:started_transaction");  {
			if .Error != nil {
				.Rollback()
			} else {
				.Commit()
			}

			.Statement.ConnPool = .ConnPool
		}
	}
}