From c9a75010d0562cf3ed494c8faf82fc9c11dd5330 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Carlos=20Nieto?= <jose.carlos@menteslibres.net> Date: Wed, 12 Oct 2016 19:35:13 -0500 Subject: [PATCH] Add docstrings. --- internal/sqladapter/database.go | 4 ++-- internal/sqladapter/statement.go | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/internal/sqladapter/database.go b/internal/sqladapter/database.go index fd9a3577..9d7370fd 100644 --- a/internal/sqladapter/database.go +++ b/internal/sqladapter/database.go @@ -359,7 +359,7 @@ func (d *database) prepareStatement(stmt *exql.Statement) (*Stmt, string, error) pc, ok := d.cachedStatements.ReadRaw(stmt) if ok { // The statement was cached. - ps := pc.(*Stmt).open() + ps := pc.(*Stmt).Open() return ps, ps.query, nil } @@ -376,7 +376,7 @@ func (d *database) prepareStatement(stmt *exql.Statement) (*Stmt, string, error) return nil, query, err } - p := newCachedStatement(sqlStmt, query) + p := NewStatement(sqlStmt, query) d.cachedStatements.Write(stmt, p) return p, query, nil } diff --git a/internal/sqladapter/statement.go b/internal/sqladapter/statement.go index b9907d60..be520be8 100644 --- a/internal/sqladapter/statement.go +++ b/internal/sqladapter/statement.go @@ -16,7 +16,8 @@ type Stmt struct { dead int32 } -func newCachedStatement(stmt *sql.Stmt, query string) *Stmt { +// NewStatement creates an returns an opened statement +func NewStatement(stmt *sql.Stmt, query string) *Stmt { return &Stmt{ Stmt: stmt, query: query, @@ -24,11 +25,13 @@ func newCachedStatement(stmt *sql.Stmt, query string) *Stmt { } } -func (c *Stmt) open() *Stmt { +// Open marks the statement as in-use +func (c *Stmt) Open() *Stmt { atomic.AddInt64(&c.count, 1) return c } +// Close closes the underlying statement if no other go-routine is using it. func (c *Stmt) Close() { if atomic.AddInt64(&c.count, -1) > 0 { // There are another goroutines using this statement so we don't want to @@ -41,6 +44,7 @@ func (c *Stmt) Close() { } } +// OnPurge marks the statement as ready to be cleaned up. func (c *Stmt) OnPurge() { // Mark as dead, you can continue using it but it will be closed for real // when c.count reaches 0. -- GitLab