This repository was archived by the owner on Jul 21, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +11
-5
lines changed Expand file tree Collapse file tree 1 file changed +11
-5
lines changed Original file line number Diff line number Diff line change @@ -2,6 +2,7 @@ package scylla
22
33import (
44 "context"
5+ "errors"
56 "fmt"
67
78 "github.com/scylladb/scylla-go-driver/frame"
@@ -346,6 +347,8 @@ type Iter struct {
346347 nextCh chan transport.QueryResult
347348 errCh chan error
348349 closed bool
350+
351+ err error
349352}
350353
351354var (
@@ -367,16 +370,18 @@ func (it *Iter) NumRows() int {
367370
368371func (it * Iter ) Next () (frame.Row , error ) {
369372 if it .closed {
370- return nil , ErrClosedIter
373+ return nil , nil
371374 }
372375
373376 if it .pos >= it .rowCnt {
374377 select {
375378 case r := <- it .nextCh :
376379 it .result = r
377380 case err := <- it .errCh :
378- it .Close ()
379- return nil , err
381+ if ! errors .Is (err , ErrNoMoreRows ) {
382+ it .err = err
383+ }
384+ return nil , it .Close ()
380385 }
381386
382387 it .pos = 0
@@ -394,12 +399,13 @@ func (it *Iter) Next() (frame.Row, error) {
394399 return res , nil
395400}
396401
397- func (it * Iter ) Close () {
402+ func (it * Iter ) Close () error {
398403 if it .closed {
399- return
404+ return it . err
400405 }
401406 it .closed = true
402407 close (it .requestCh )
408+ return it .err
403409}
404410
405411type iterWorker struct {
You can’t perform that action at this time.
0 commit comments