@@ -212,6 +212,7 @@ func TestEmptyQuery(t *testing.T) {
212
212
runTests (t , dsn , func (dbt * DBTest ) {
213
213
// just a comment, no query
214
214
rows := dbt .mustQuery ("--" )
215
+ defer rows .Close ()
215
216
// will hang before #255
216
217
if rows .Next () {
217
218
dbt .Errorf ("next on rows must be false" )
@@ -248,6 +249,7 @@ func TestCRUD(t *testing.T) {
248
249
if id != 0 {
249
250
dbt .Fatalf ("expected InsertId 0, got %d" , id )
250
251
}
252
+ rows .Close ()
251
253
252
254
// Read
253
255
rows = dbt .mustQuery ("SELECT value FROM test" )
@@ -263,6 +265,7 @@ func TestCRUD(t *testing.T) {
263
265
} else {
264
266
dbt .Error ("no data" )
265
267
}
268
+ rows .Close ()
266
269
267
270
// Update
268
271
res = dbt .mustExec ("UPDATE test SET value = ? WHERE value = ?" , false , true )
@@ -288,6 +291,7 @@ func TestCRUD(t *testing.T) {
288
291
} else {
289
292
dbt .Error ("no data" )
290
293
}
294
+ rows .Close ()
291
295
292
296
// Delete
293
297
res = dbt .mustExec ("DELETE FROM test WHERE value = ?" , false )
@@ -339,6 +343,7 @@ func TestMultiQuery(t *testing.T) {
339
343
// Read
340
344
var out int
341
345
rows := dbt .mustQuery ("SELECT value FROM test WHERE id=1;" )
346
+ defer rows .Close ()
342
347
if rows .Next () {
343
348
rows .Scan (& out )
344
349
if 5 != out {
@@ -369,6 +374,7 @@ func TestInt(t *testing.T) {
369
374
dbt .mustExec ("INSERT INTO test VALUES (?)" , in )
370
375
371
376
rows = dbt .mustQuery ("SELECT value FROM test" )
377
+ defer rows .Close ()
372
378
if rows .Next () {
373
379
rows .Scan (& out )
374
380
if in != out {
@@ -388,6 +394,7 @@ func TestInt(t *testing.T) {
388
394
dbt .mustExec ("INSERT INTO test VALUES (?)" , in )
389
395
390
396
rows = dbt .mustQuery ("SELECT value FROM test" )
397
+ defer rows .Close ()
391
398
if rows .Next () {
392
399
rows .Scan (& out )
393
400
if in != out {
@@ -412,6 +419,7 @@ func TestFloat32(t *testing.T) {
412
419
dbt .mustExec ("CREATE TABLE test (value " + v + ")" )
413
420
dbt .mustExec ("INSERT INTO test VALUES (?)" , in )
414
421
rows = dbt .mustQuery ("SELECT value FROM test" )
422
+ defer rows .Close ()
415
423
if rows .Next () {
416
424
rows .Scan (& out )
417
425
if in != out {
@@ -435,6 +443,7 @@ func TestFloat64(t *testing.T) {
435
443
dbt .mustExec ("CREATE TABLE test (value " + v + ")" )
436
444
dbt .mustExec ("INSERT INTO test VALUES (42.23)" )
437
445
rows = dbt .mustQuery ("SELECT value FROM test" )
446
+ defer rows .Close ()
438
447
if rows .Next () {
439
448
rows .Scan (& out )
440
449
if expected != out {
@@ -458,6 +467,7 @@ func TestFloat64Placeholder(t *testing.T) {
458
467
dbt .mustExec ("CREATE TABLE test (id int, value " + v + ")" )
459
468
dbt .mustExec ("INSERT INTO test VALUES (1, 42.23)" )
460
469
rows = dbt .mustQuery ("SELECT value FROM test WHERE id = ?" , 1 )
470
+ defer rows .Close ()
461
471
if rows .Next () {
462
472
rows .Scan (& out )
463
473
if expected != out {
@@ -484,6 +494,7 @@ func TestString(t *testing.T) {
484
494
dbt .mustExec ("INSERT INTO test VALUES (?)" , in )
485
495
486
496
rows = dbt .mustQuery ("SELECT value FROM test" )
497
+ defer rows .Close ()
487
498
if rows .Next () {
488
499
rows .Scan (& out )
489
500
if in != out {
@@ -524,6 +535,7 @@ func TestRawBytes(t *testing.T) {
524
535
v1 := []byte ("aaa" )
525
536
v2 := []byte ("bbb" )
526
537
rows := dbt .mustQuery ("SELECT ?, ?" , v1 , v2 )
538
+ defer rows .Close ()
527
539
if rows .Next () {
528
540
var o1 , o2 sql.RawBytes
529
541
if err := rows .Scan (& o1 , & o2 ); err != nil {
@@ -564,6 +576,7 @@ func TestValuer(t *testing.T) {
564
576
dbt .mustExec ("CREATE TABLE test (value VARCHAR(255)) CHARACTER SET utf8" )
565
577
dbt .mustExec ("INSERT INTO test VALUES (?)" , in )
566
578
rows = dbt .mustQuery ("SELECT value FROM test" )
579
+ defer rows .Close ()
567
580
if rows .Next () {
568
581
rows .Scan (& out )
569
582
if in .value != out {
@@ -884,6 +897,7 @@ func TestTimestampMicros(t *testing.T) {
884
897
dbt .mustExec ("INSERT INTO test SET value0=?, value1=?, value6=?" , f0 , f1 , f6 )
885
898
var res0 , res1 , res6 string
886
899
rows := dbt .mustQuery ("SELECT * FROM test" )
900
+ defer rows .Close ()
887
901
if ! rows .Next () {
888
902
dbt .Errorf ("test contained no selectable values" )
889
903
}
@@ -1042,6 +1056,7 @@ func TestNULL(t *testing.T) {
1042
1056
1043
1057
var out interface {}
1044
1058
rows := dbt .mustQuery ("SELECT * FROM test" )
1059
+ defer rows .Close ()
1045
1060
if rows .Next () {
1046
1061
rows .Scan (& out )
1047
1062
if out != nil {
@@ -1466,7 +1481,6 @@ func TestCollation(t *testing.T) {
1466
1481
func TestColumnsWithAlias (t * testing.T ) {
1467
1482
runTests (t , dsn + "&columnsWithAlias=true" , func (dbt * DBTest ) {
1468
1483
rows := dbt .mustQuery ("SELECT 1 AS A" )
1469
- defer rows .Close ()
1470
1484
cols , _ := rows .Columns ()
1471
1485
if len (cols ) != 1 {
1472
1486
t .Fatalf ("expected 1 column, got %d" , len (cols ))
@@ -1484,6 +1498,7 @@ func TestColumnsWithAlias(t *testing.T) {
1484
1498
if cols [0 ] != "A.one" {
1485
1499
t .Fatalf ("expected column name \" A.one\" , got \" %s\" " , cols [0 ])
1486
1500
}
1501
+ rows .Close ()
1487
1502
})
1488
1503
}
1489
1504
@@ -1520,6 +1535,7 @@ func TestTimezoneConversion(t *testing.T) {
1520
1535
1521
1536
// Retrieve time from DB
1522
1537
rows := dbt .mustQuery ("SELECT ts FROM test" )
1538
+ defer rows .Close ()
1523
1539
if ! rows .Next () {
1524
1540
dbt .Fatal ("did not get any rows out" )
1525
1541
}
@@ -2017,6 +2033,7 @@ func TestInterruptBySignal(t *testing.T) {
2017
2033
dbt .Errorf ("expected val to be 42" )
2018
2034
}
2019
2035
}
2036
+ rows .Close ()
2020
2037
2021
2038
// binary protocol
2022
2039
rows , err = dbt .db .Query ("CALL test_signal(?)" , 42 )
@@ -2030,6 +2047,7 @@ func TestInterruptBySignal(t *testing.T) {
2030
2047
dbt .Errorf ("expected val to be 42" )
2031
2048
}
2032
2049
}
2050
+ rows .Close ()
2033
2051
})
2034
2052
}
2035
2053
0 commit comments