Pārlūkot izejas kodu

incorporate Juliens suggestions and update the changelog

Arne Hormann 12 gadi atpakaļ
vecāks
revīzija
75c7231d47
2 mainītis faili ar 11 papildinājumiem un 5 dzēšanām
  1. 5 0
      CHANGELOG.md
  2. 6 5
      driver_test.go

+ 5 - 0
CHANGELOG.md

@@ -4,6 +4,11 @@ New Features:
 
  - Logging of critical errors is configurable with `SetLogger`
 
+Bugfixes:
+
+ - Allow more than 32 parameters in prepared statements
+
+
 ## Version 1.1 (2013-11-02)
 
 Changes:

+ 6 - 5
driver_test.go

@@ -1210,20 +1210,21 @@ func TestStmtMultiRows(t *testing.T) {
 	})
 }
 
+// Regression test for
+// * more than 32 NULL parameters (issue 209)
+// * more parameters than fit into the buffer (issue 201)
 func TestPreparedManyCols(t *testing.T) {
 	const numParams = defaultBufSize
 	runTests(t, dsn, func(dbt *DBTest) {
 		query := "SELECT ?" + strings.Repeat(",?", numParams-1)
-		values := make([]sql.NullString, numParams)
-		params := make([]interface{}, numParams)
-		for i := range values {
-			params[i] = &values[i]
-		}
 		stmt, err := dbt.db.Prepare(query)
 		if err != nil {
 			dbt.Fatal(err)
 		}
 		defer stmt.Close()
+		// create more parameters than fit into the buffer
+		// which will take nil-values
+		params := make([]interface{}, numParams)
 		rows, err := stmt.Query(params...)
 		if err != nil {
 			stmt.Close()