From 057f5fdcd6e4a41f27f8eb8e2a17b1a96a9d981b Mon Sep 17 00:00:00 2001 From: xiezhaodong Date: Mon, 14 Apr 2025 14:52:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81lru=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- prepare_stmt.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/prepare_stmt.go b/prepare_stmt.go index aebad797..937840b2 100644 --- a/prepare_stmt.go +++ b/prepare_stmt.go @@ -37,7 +37,8 @@ func NewPreparedStmtDB(connPool ConnPool, prepareStmtLruConfig *PrepareStmtLruCo lru.NewLru(prepareStmtLruConfig.Size, prepareStmtLruConfig.TTL) stmts = lru } else { - stmts = &DefaultStmtStore{} + defaultStmtStore := &DefaultStmtStore{} + stmts = defaultStmtStore.init() } return stmts }(), @@ -87,7 +88,9 @@ func (sdb *PreparedStmtDB) Reset() { } }(stmt) } - sdb.Stmts = &DefaultStmtStore{} + defaultStmt := &DefaultStmtStore{} + defaultStmt.init() + sdb.Stmts = defaultStmt } func (db *PreparedStmtDB) prepare(ctx context.Context, conn ConnPool, isTransaction bool, query string) (Stmt, error) { @@ -302,6 +305,11 @@ type DefaultStmtStore struct { defaultStmt map[string]*Stmt } +func (s *DefaultStmtStore) init() *DefaultStmtStore { + s.defaultStmt = make(map[string]*Stmt) + return s +} + func (s *DefaultStmtStore) AllMap() map[string]*Stmt { return s.defaultStmt }