@@ -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" )
@@ -230,6 +231,7 @@ func TestCRUD(t *testing.T) {
230
231
if rows .Next () {
231
232
dbt .Error ("unexpected data in empty table" )
232
233
}
234
+ rows .Close ()
233
235
234
236
// Create Data
235
237
res := dbt .mustExec ("INSERT INTO test VALUES (1)" )
@@ -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 )
@@ -351,6 +355,7 @@ func TestMultiQuery(t *testing.T) {
351
355
} else {
352
356
dbt .Error ("no data" )
353
357
}
358
+ rows .Close ()
354
359
355
360
})
356
361
}
@@ -377,6 +382,7 @@ func TestInt(t *testing.T) {
377
382
} else {
378
383
dbt .Errorf ("%s: no data" , v )
379
384
}
385
+ rows .Close ()
380
386
381
387
dbt .mustExec ("DROP TABLE IF EXISTS test" )
382
388
}
@@ -396,6 +402,7 @@ func TestInt(t *testing.T) {
396
402
} else {
397
403
dbt .Errorf ("%s ZEROFILL: no data" , v )
398
404
}
405
+ rows .Close ()
399
406
400
407
dbt .mustExec ("DROP TABLE IF EXISTS test" )
401
408
}
@@ -420,6 +427,7 @@ func TestFloat32(t *testing.T) {
420
427
} else {
421
428
dbt .Errorf ("%s: no data" , v )
422
429
}
430
+ rows .Close ()
423
431
dbt .mustExec ("DROP TABLE IF EXISTS test" )
424
432
}
425
433
})
@@ -443,6 +451,7 @@ func TestFloat64(t *testing.T) {
443
451
} else {
444
452
dbt .Errorf ("%s: no data" , v )
445
453
}
454
+ rows .Close ()
446
455
dbt .mustExec ("DROP TABLE IF EXISTS test" )
447
456
}
448
457
})
@@ -466,6 +475,7 @@ func TestFloat64Placeholder(t *testing.T) {
466
475
} else {
467
476
dbt .Errorf ("%s: no data" , v )
468
477
}
478
+ rows .Close ()
469
479
dbt .mustExec ("DROP TABLE IF EXISTS test" )
470
480
}
471
481
})
@@ -492,6 +502,7 @@ func TestString(t *testing.T) {
492
502
} else {
493
503
dbt .Errorf ("%s: no data" , v )
494
504
}
505
+ rows .Close ()
495
506
496
507
dbt .mustExec ("DROP TABLE IF EXISTS test" )
497
508
}
@@ -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 {
@@ -572,6 +584,7 @@ func TestValuer(t *testing.T) {
572
584
} else {
573
585
dbt .Errorf ("Valuer: no data" )
574
586
}
587
+ rows .Close ()
575
588
576
589
dbt .mustExec ("DROP TABLE IF EXISTS test" )
577
590
})
@@ -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 {
@@ -1121,6 +1136,7 @@ func TestLongData(t *testing.T) {
1121
1136
inS := in [:maxAllowedPacketSize - nonDataQueryLen ]
1122
1137
dbt .mustExec ("INSERT INTO test VALUES('" + inS + "')" )
1123
1138
rows = dbt .mustQuery ("SELECT value FROM test" )
1139
+ defer rows .Close ()
1124
1140
if rows .Next () {
1125
1141
rows .Scan (& out )
1126
1142
if inS != out {
@@ -1139,6 +1155,7 @@ func TestLongData(t *testing.T) {
1139
1155
// Long binary data
1140
1156
dbt .mustExec ("INSERT INTO test VALUES(?)" , in )
1141
1157
rows = dbt .mustQuery ("SELECT value FROM test WHERE 1=?" , 1 )
1158
+ defer rows .Close ()
1142
1159
if rows .Next () {
1143
1160
rows .Scan (& out )
1144
1161
if in != out {
@@ -1314,6 +1331,7 @@ func TestTLS(t *testing.T) {
1314
1331
}
1315
1332
1316
1333
rows := dbt .mustQuery ("SHOW STATUS LIKE 'Ssl_cipher'" )
1334
+ defer rows .Close ()
1317
1335
1318
1336
var variable , value * sql.RawBytes
1319
1337
for rows .Next () {
@@ -1474,9 +1492,9 @@ func TestColumnsWithAlias(t *testing.T) {
1474
1492
if cols [0 ] != "A" {
1475
1493
t .Fatalf ("expected column name \" A\" , got \" %s\" " , cols [0 ])
1476
1494
}
1477
- rows .Close ()
1478
1495
1479
1496
rows = dbt .mustQuery ("SELECT * FROM (SELECT 1 AS one) AS A" )
1497
+ defer rows .Close ()
1480
1498
cols , _ = rows .Columns ()
1481
1499
if len (cols ) != 1 {
1482
1500
t .Fatalf ("expected 1 column, got %d" , len (cols ))
@@ -1520,6 +1538,7 @@ func TestTimezoneConversion(t *testing.T) {
1520
1538
1521
1539
// Retrieve time from DB
1522
1540
rows := dbt .mustQuery ("SELECT ts FROM test" )
1541
+ defer rows .Close ()
1523
1542
if ! rows .Next () {
1524
1543
dbt .Fatal ("did not get any rows out" )
1525
1544
}
@@ -2017,6 +2036,7 @@ func TestInterruptBySignal(t *testing.T) {
2017
2036
dbt .Errorf ("expected val to be 42" )
2018
2037
}
2019
2038
}
2039
+ rows .Close ()
2020
2040
2021
2041
// binary protocol
2022
2042
rows , err = dbt .db .Query ("CALL test_signal(?)" , 42 )
@@ -2030,6 +2050,7 @@ func TestInterruptBySignal(t *testing.T) {
2030
2050
dbt .Errorf ("expected val to be 42" )
2031
2051
}
2032
2052
}
2053
+ rows .Close ()
2033
2054
})
2034
2055
}
2035
2056
0 commit comments