lib / pq

Pure Go Postgres driver for database/sql
https://pkg.go.dev/github.com/lib/pq
MIT License
8.98k stars 909 forks source link

Empty result sets are handled incorrectly #1003

Open roelvandergoot opened 3 years ago

roelvandergoot commented 3 years ago

I expected the following test to pass:

func TestMultipleEmptyQuery(t *testing.T) {
       db := openTestConn(t)
       defer db.Close()

       rows, err := db.Query("select 1 where false; select 2")
       if err != nil {
               t.Fatal(err)
       }
       defer rows.Close()

       for rows.Next() {
               t.Fatal("unexpected row")
       }
       if !rows.NextResultSet() {
               t.Fatal("expected more result sets", rows.Err())
       }
       for rows.Next() {
               var i int
               if err := rows.Scan(&i); err != nil {
                       t.Fatal(err)
               }
               if i != 2 {
                       t.Fatalf("expected 2, got %d", i)
               }
       }
       if rows.NextResultSet() {
               t.Fatal("unexpected result set")
       }
}
roelvandergoot commented 3 years ago

Pull request #1004

hmh commented 2 years ago

Looks like this issue can be closed as fixed by the PR #1004 merge ?