forked from mirror/gorm
for Config.cacheStore store PreparedStmtDB key (#4149)
This commit is contained in:
parent
495ec4bd87
commit
bc347758e5
7
gorm.go
7
gorm.go
|
@ -12,6 +12,9 @@ import (
|
||||||
"gorm.io/gorm/schema"
|
"gorm.io/gorm/schema"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// for Config.cacheStore store PreparedStmtDB key
|
||||||
|
const preparedStmtDBKey = "preparedStmt"
|
||||||
|
|
||||||
// Config GORM config
|
// Config GORM config
|
||||||
type Config struct {
|
type Config struct {
|
||||||
// GORM perform single create, update, delete operations in transactions by default to ensure database data integrity
|
// GORM perform single create, update, delete operations in transactions by default to ensure database data integrity
|
||||||
|
@ -161,7 +164,7 @@ func Open(dialector Dialector, opts ...Option) (db *DB, err error) {
|
||||||
Mux: &sync.RWMutex{},
|
Mux: &sync.RWMutex{},
|
||||||
PreparedSQL: make([]string, 0, 100),
|
PreparedSQL: make([]string, 0, 100),
|
||||||
}
|
}
|
||||||
db.cacheStore.Store("preparedStmt", preparedStmt)
|
db.cacheStore.Store(preparedStmtDBKey, preparedStmt)
|
||||||
|
|
||||||
if config.PrepareStmt {
|
if config.PrepareStmt {
|
||||||
db.ConnPool = preparedStmt
|
db.ConnPool = preparedStmt
|
||||||
|
@ -224,7 +227,7 @@ func (db *DB) Session(config *Session) *DB {
|
||||||
}
|
}
|
||||||
|
|
||||||
if config.PrepareStmt {
|
if config.PrepareStmt {
|
||||||
if v, ok := db.cacheStore.Load("preparedStmt"); ok {
|
if v, ok := db.cacheStore.Load(preparedStmtDBKey); ok {
|
||||||
preparedStmt := v.(*PreparedStmtDB)
|
preparedStmt := v.(*PreparedStmtDB)
|
||||||
tx.Statement.ConnPool = &PreparedStmtDB{
|
tx.Statement.ConnPool = &PreparedStmtDB{
|
||||||
ConnPool: db.Config.ConnPool,
|
ConnPool: db.Config.ConnPool,
|
||||||
|
|
Loading…
Reference in New Issue