From 4f32e7b52e7819d677c0870b5239dae433934db0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Carlos=20Nieto?= <jose.carlos@menteslibres.net> Date: Thu, 8 Oct 2015 10:30:01 -0500 Subject: [PATCH] Fixing tests. --- internal/sqladapter/database.go | 4 ++++ internal/sqlutil/result/result.go | 5 ++++- sqlite/database.go | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/internal/sqladapter/database.go b/internal/sqladapter/database.go index e04b5850..ae3c1b3e 100644 --- a/internal/sqladapter/database.go +++ b/internal/sqladapter/database.go @@ -125,6 +125,10 @@ func (d *BaseDatabase) Ping() error { // Close terminates the current database session. func (d *BaseDatabase) Close() error { + defer func() { + d.sess = nil + d.tx = nil + }() if d.sess != nil { if d.tx != nil && !d.tx.Done() { d.tx.Rollback() diff --git a/internal/sqlutil/result/result.go b/internal/sqlutil/result/result.go index a508ac5b..61df81fa 100644 --- a/internal/sqlutil/result/result.go +++ b/internal/sqlutil/result/result.go @@ -147,9 +147,12 @@ func (r *Result) Count() (uint64, error) { }{} q := r.buildSelect() - q.Columns(db.Raw{"count(1) AS _t"}).Limit(1) + q.Columns(db.Raw{"count(1) AS _t"}).Limit(1).OrderBy(nil) if err := q.Iterator().One(&counter); err != nil { + if err == db.ErrNoMoreRows { + return 0, nil + } return 0, err } diff --git a/sqlite/database.go b/sqlite/database.go index 345d3e5b..c2de9e58 100644 --- a/sqlite/database.go +++ b/sqlite/database.go @@ -123,7 +123,7 @@ func (d *database) Use(name string) (err error) { } func (d *database) Close() error { - if d.BaseDatabase != nil { + if d.Session() != nil { if atomic.AddInt32(&fileOpenCount, -1) < 0 { return errors.New(`Close() without Open()?`) } -- GitLab