From 6c8a572d09c40befe56f7fed3b4f16c82a6f6b57 Mon Sep 17 00:00:00 2001
From: gedi <gediminas.morkevicius@gmail.com>
Date: Fri, 7 Jun 2019 09:37:36 +0300
Subject: [PATCH] for some reason transaction statement was not working on
 go1.8

---
 .travis.yml          |  1 +
 sqlmock_go18_test.go | 31 -------------------------------
 sqlmock_go19_test.go | 39 +++++++++++++++++++++++++++++++++++++++
 3 files changed, 40 insertions(+), 31 deletions(-)
 create mode 100644 sqlmock_go19_test.go

diff --git a/.travis.yml b/.travis.yml
index 318f88c..9a56f03 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -13,6 +13,7 @@ go:
   - 1.9.x
   - 1.10.x
   - 1.11.x
+  - 1.12.x
 
 
 
diff --git a/sqlmock_go18_test.go b/sqlmock_go18_test.go
index 1db3f5f..e53d9c7 100644
--- a/sqlmock_go18_test.go
+++ b/sqlmock_go18_test.go
@@ -474,34 +474,3 @@ func TestContextExecErrorDelay(t *testing.T) {
 		t.Errorf("expecting a delay of less than %v before error, actual delay was %v", delay, elapsed)
 	}
 }
-
-func TestStatementTX(t *testing.T) {
-	t.Parallel()
-	db, mock, err := New()
-	if err != nil {
-		t.Errorf("an error '%s' was not expected when opening a stub database connection", err)
-	}
-	defer db.Close()
-
-	prep := mock.ExpectPrepare("SELECT")
-	mock.ExpectBegin()
-
-	prep.ExpectQuery().WithArgs(1).WillReturnError(errors.New("fast fail"))
-
-	stmt, err := db.Prepare("SELECT title, body FROM articles WHERE id = ?")
-	if err != nil {
-		t.Fatalf("unexpected error on prepare: %v", err)
-	}
-
-	tx, err := db.Begin()
-	if err != nil {
-		t.Fatalf("unexpected error on begin: %v", err)
-	}
-
-	// upgrade connection for statement
-	txStmt := tx.Stmt(stmt)
-	_, err = txStmt.Query(1)
-	if err == nil || err.Error() != "fast fail" {
-		t.Fatalf("unexpected result: %v", err)
-	}
-}
diff --git a/sqlmock_go19_test.go b/sqlmock_go19_test.go
new file mode 100644
index 0000000..6c69559
--- /dev/null
+++ b/sqlmock_go19_test.go
@@ -0,0 +1,39 @@
+// +build go1.9
+
+package sqlmock
+
+import (
+	"errors"
+	"testing"
+)
+
+func TestStatementTX(t *testing.T) {
+	t.Parallel()
+	db, mock, err := New()
+	if err != nil {
+		t.Errorf("an error '%s' was not expected when opening a stub database connection", err)
+	}
+	defer db.Close()
+
+	prep := mock.ExpectPrepare("SELECT")
+	mock.ExpectBegin()
+
+	prep.ExpectQuery().WithArgs(1).WillReturnError(errors.New("fast fail"))
+
+	stmt, err := db.Prepare("SELECT title, body FROM articles WHERE id = ?")
+	if err != nil {
+		t.Fatalf("unexpected error on prepare: %v", err)
+	}
+
+	tx, err := db.Begin()
+	if err != nil {
+		t.Fatalf("unexpected error on begin: %v", err)
+	}
+
+	// upgrade connection for statement
+	txStmt := tx.Stmt(stmt)
+	_, err = txStmt.Query(1)
+	if err == nil || err.Error() != "fast fail" {
+		t.Fatalf("unexpected result: %v", err)
+	}
+}