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 }