Skip to content

Commit 0b266b8

Browse files
added functional test cases for change
1 parent 28f3fbf commit 0b266b8

File tree

1 file changed

+18
-15
lines changed

1 file changed

+18
-15
lines changed

queries_test.go

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -326,26 +326,29 @@ func TestSelectWithVarchar(t *testing.T) {
326326
defer conn.Close()
327327
defer logger.StopLogging()
328328

329-
t.Run("scan into interface{}", func(t *testing.T) {
329+
t.Run("scan into string", func(t *testing.T) {
330330
type testStruct struct {
331-
sql string
332-
val string
331+
sql string
332+
args []interface{}
333+
val string
333334
}
334335

335336
longstr := strings.Repeat("x", 10000)
336337

337338
values := []testStruct{
338-
{"'abc'", "abc"},
339-
{"N'abc'", "abc"},
340-
{"cast(N'abc' as nvarchar(max))", "abc"},
341-
{"cast('abc' as text)", "abc"},
342-
{"cast(N'abc' as ntext)", "abc"},
343-
{"cast('abc' as char(3))", "abc"},
344-
{"cast('abc' as varchar(3))", "abc"},
345-
{fmt.Sprintf("cast(N'%s' as nvarchar(max))", longstr), longstr},
346-
{"cast(cast('abc' as varchar(3)) as sql_variant)", "abc"},
347-
{"cast(cast('abc' as char(3)) as sql_variant)", "abc"},
348-
{"cast(N'abc' as sql_variant)", "abc"},
339+
{"'abc'", []interface{}{}, "abc"},
340+
{"N'abc'", []interface{}{}, "abc"},
341+
{"cast(N'abc' as nvarchar(max))", []interface{}{}, "abc"},
342+
{"cast('abc' as text)", []interface{}{}, "abc"},
343+
{"cast(N'abc' as ntext)", []interface{}{}, "abc"},
344+
{"cast('abc' as char(3))", []interface{}{}, "abc"},
345+
{"cast('abc' as varchar(3))", []interface{}{}, "abc"},
346+
{fmt.Sprintf("cast(N'%s' as nvarchar(max))", longstr), []interface{}{}, longstr},
347+
{"cast(cast('abc' as varchar(3)) as sql_variant)", []interface{}{}, "abc"},
348+
{"cast(cast('abc' as char(3)) as sql_variant)", []interface{}{}, "abc"},
349+
{"cast(N'abc' as sql_variant)", []interface{}{}, "abc"},
350+
{"$1", []interface{}{"abc"}, "abc"},
351+
{"$1", []interface{}{longstr}, longstr},
349352
}
350353

351354
for _, test := range values {
@@ -357,7 +360,7 @@ func TestSelectWithVarchar(t *testing.T) {
357360
}
358361
defer stmt.Close()
359362

360-
row := stmt.QueryRow()
363+
row := stmt.QueryRow(test.args...)
361364
var retval string
362365
err = row.Scan(&retval)
363366
if err != nil {

0 commit comments

Comments
 (0)