From a044018e33b76e072d393cfb0381ee645be45aff Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Carlos=20Nieto?= <xiam@menteslibres.org>
Date: Sun, 2 Dec 2012 12:35:07 -0600
Subject: [PATCH] Testing sqlite.

---
 mysql/collection.go            |   1 +
 mysql/mysql_test.go            |  10 ++++------
 sqlite/dumps/gotest.sqlite3.db | Bin 6144 -> 6144 bytes
 sqlite/sqlite.go               |  14 ++++++--------
 sqlite/sqlite_test.go          |  14 ++++++--------
 5 files changed, 17 insertions(+), 22 deletions(-)

diff --git a/mysql/collection.go b/mysql/collection.go
index b7f71a2a..4db6cad7 100644
--- a/mysql/collection.go
+++ b/mysql/collection.go
@@ -482,6 +482,7 @@ func (self *Table) Exists() bool {
 		panic(err.Error())
 	}
 	if result.Next() == true {
+		result.Close()
 		return true
 	}
 	return false
diff --git a/mysql/mysql_test.go b/mysql/mysql_test.go
index 8ee1292c..dc07f1a6 100644
--- a/mysql/mysql_test.go
+++ b/mysql/mysql_test.go
@@ -170,8 +170,6 @@ func TestUpdate(t *testing.T) {
 
 	defer sess.Close()
 
-	sess.Use("test")
-
 	people, _ := sess.Collection("people")
 
 	people.Update(db.Cond{"name": "José"}, db.Set{"name": "Joseph"})
@@ -219,13 +217,13 @@ func TestPopulate(t *testing.T) {
 		for j := 0; j < 5; j++ {
 			children.Append(db.Item{
 				"name":      fmt.Sprintf("%s's child %d", person["name"], j+1),
-				"parent_id": person["_id"],
+				"parent_id": person["id"],
 			})
 		}
 
 		// Lives in
 		people.Update(
-			db.Cond{"_id": person["_id"]},
+			db.Cond{"id": person["id"]},
 			db.Set{"place_code_id": int(rand.Float32() * float32(len(results)))},
 		)
 
@@ -235,8 +233,8 @@ func TestPopulate(t *testing.T) {
 				"code_id": int(rand.Float32() * float32(len(results))),
 			})
 			visits.Append(db.Item{
-				"place_id":  place["_id"],
-				"person_id": person["_id"],
+				"place_id":  place["id"],
+				"person_id": person["id"],
 			})
 		}
 	}
diff --git a/sqlite/dumps/gotest.sqlite3.db b/sqlite/dumps/gotest.sqlite3.db
index 6e2bb4eb2bba1cb1e9686b5af6cfd42363d7fe2d..eedf0c9eaf6f7be66c32c448ef85c6a3c1ba4ef2 100644
GIT binary patch
delta 663
zcmZvYy=xRv6vgM>^XAUZ$7VM%Z^CY(#Ku&?WOwrqSfmhER%=C9GnhbdWfBX6nAK7X
zjnmm>%Ya|8iwb^$U>O9l5G+*?EG#U2ZxTdgUU3iSTpsWDPJgC9bGOdX>5YkFW<ELh
z0#nT2d6##1z_)po&+t4S<r;&2&_{YjTa?i?O6bJX!=->&AIk1{@yUbAp=mzeTS+c2
zPOVH{SX^3Om~82ZqPVHYi{gf^{}X4=-Rs#~sbWqa$X-fJBW8}GsfTlI=xVOBaV6`x
zV>D!@Mk_97edD6sHR3RP?8aH$ySnbRmo8pOmj9y7X=NY#KW=Fh#ZApcaYIv4JX^*G
zN3iMOGrr*&-eFVWAs(5+ZeXJmoDIcXt8u$~$smQEHQ3_|43%GNchffyx}mF_()g*~
z`6ONK;g{n(_5_B+uk97>8(4p=lPsh?vx)M(8QYPlBdLSm_=&Ihf=}4Rd%VUDwy}i)
z?&BVA;U?CQ8l-uw%ZNcBVHvinSgKaRQnAXAA*(K=yzirYuO!U9l3?HaR$W(0R+TIE
iYs4lnoFuOKkP)%XlPhAYCU{b@<&yHmwn^d*M%5qi^n;54

delta 689
zcmZvZy=xRv6vf}Y=e;|#GrLLL>`a&>hS-=w#O#OvfMBDnEWuWBV^$N0uGwf23$vDX
zy9@}HZX*^NqLqk(2vJK53&p}t3k%W4()Y%YY6jl>aSo5mId}St{l&pF7Y4)GQ}*7y
z^a=~$pZtkm^CKSc7BBNzZtxuY^qaoY9zCV|bce3cx#vgxfVSf~t>}bV>MnPBH@gd)
z^OslG)>r0F#)otLMm(GA*W;O7zZOsD`qfHe{bNYqn`>$6l`l+MdE9HRUA@&=KS<Gt
z%6WD@I+SPEqKQ1a8jYt_iD}H<6*Qt!#(GrDSc^i(H1Tey=S`V(+A{7HGS(x`Sc}MU
zs#?N3B^W9E!FRmG7mToj9lOdthOOeoP;7z(&GvO$Bk;5;B>yV~S}Q+kwtH`%w3Skm
z_8fdxgvLId+5ZUv?2svLbyj-akljFirn}j>vHGki`sjwjU;M%ke8Xpa#0R{=3+&=C
z9^wIpxQDyg!iG(B8r$O5N1hS4FEU2lf(S;&9T_s_D3DU-LyC^tlQ7es1pB(+=xOmC
jjTYO?&e7uP5{q&1$tovB#1$aT6XMd7u#ltAql*3qsQrd!

diff --git a/sqlite/sqlite.go b/sqlite/sqlite.go
index 50b2e690..c1442be9 100644
--- a/sqlite/sqlite.go
+++ b/sqlite/sqlite.go
@@ -209,10 +209,10 @@ type SqliteTable struct {
 }
 
 // Configures and returns a SQLite database session.
-func (m *SqliteDataSource) Setup(config db.DataSource) error {
-	m.config = config
-	m.collections = make(map[string]db.Collection)
-	return m.Open()
+func (self *SqliteDataSource) Setup(config db.DataSource) error {
+	self.config = config
+	self.collections = make(map[string]db.Collection)
+	return self.Open()
 }
 
 // Deprecated: Configures and returns a SQLite database session.
@@ -236,9 +236,7 @@ func (sl *SqliteDataSource) Open() error {
 		panic("Database name is required.")
 	}
 
-	conn := sl.config.Database
-
-	sl.session, err = sql.Open("sqlite3", conn)
+	sl.session, err = sql.Open("sqlite3", sl.config.Database)
 
 	if err != nil {
 		return fmt.Errorf("Could not connect to %s", sl.config.Host)
@@ -249,7 +247,6 @@ func (sl *SqliteDataSource) Open() error {
 
 // Closes a previously opened SQLite database session.
 func (sl *SqliteDataSource) Close() error {
-	fmt.Printf("close: %v\n", sl.session)
 	if sl.session != nil {
 		return sl.session.Close()
 	}
@@ -758,6 +755,7 @@ func (self *SqliteTable) Exists() bool {
 		panic(err.Error())
 	}
 	if result.Next() == true {
+		result.Close()
 		return true
 	}
 	return false
diff --git a/sqlite/sqlite_test.go b/sqlite/sqlite_test.go
index 408b129e..4eb8b83a 100644
--- a/sqlite/sqlite_test.go
+++ b/sqlite/sqlite_test.go
@@ -54,7 +54,7 @@ func testItem() db.Item {
 }
 
 func TestEnableDebug(t *testing.T) {
-	// Debug = true
+	Debug = true
 }
 
 func TestTruncate(t *testing.T) {
@@ -96,7 +96,7 @@ func TestAppend(t *testing.T) {
 
 	if err == nil {
 		t.Errorf("Collection should not exists.")
-		return
+		//return
 	}
 
 	people := sess.ExistentCollection("people")
@@ -167,8 +167,6 @@ func TestUpdate(t *testing.T) {
 
 	defer sess.Close()
 
-	sess.Use("test")
-
 	people, _ := sess.Collection("people")
 
 	people.Update(db.Cond{"name": "José"}, db.Set{"name": "Joseph"})
@@ -216,13 +214,13 @@ func TestPopulate(t *testing.T) {
 		for j := 0; j < 5; j++ {
 			children.Append(db.Item{
 				"name":      fmt.Sprintf("%s's child %d", person["name"], j+1),
-				"parent_id": person["_id"],
+				"parent_id": person["id"],
 			})
 		}
 
 		// Lives in
 		people.Update(
-			db.Cond{"_id": person["_id"]},
+			db.Cond{"id": person["id"]},
 			db.Set{"place_code_id": int(rand.Float32() * float32(len(results)))},
 		)
 
@@ -232,8 +230,8 @@ func TestPopulate(t *testing.T) {
 				"code_id": int(rand.Float32() * float32(len(results))),
 			})
 			visits.Append(db.Item{
-				"place_id":  place["_id"],
-				"person_id": person["_id"],
+				"place_id":  place["id"],
+				"person_id": person["id"],
 			})
 		}
 	}
-- 
GitLab