Skip to content
This repository was archived by the owner on Jul 21, 2025. It is now read-only.

Commit fc7bb23

Browse files
committed
iter: make close compatible with gocql
1 parent 1aa1e1b commit fc7bb23

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

query.go

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -348,6 +348,8 @@ type Iter struct {
348348
nextCh chan transport.QueryResult
349349
errCh chan error
350350
closed bool
351+
352+
err error
351353
}
352354

353355
var (
@@ -373,16 +375,16 @@ func (it *Iter) NumRows() int {
373375

374376
func (it *Iter) Next() (frame.Row, error) {
375377
if it.closed {
376-
return nil, ErrClosedIter
378+
return nil, it.err
377379
}
378380

379381
if it.pos >= it.rowCnt {
380382
select {
381383
case r := <-it.nextCh:
382384
it.result = r
383385
case err := <-it.errCh:
384-
it.Close()
385-
return nil, err
386+
it.err = err
387+
return nil, it.Close()
386388
}
387389

388390
it.pos = 0
@@ -400,12 +402,13 @@ func (it *Iter) Next() (frame.Row, error) {
400402
return res, nil
401403
}
402404

403-
func (it *Iter) Close() {
405+
func (it *Iter) Close() error {
404406
if it.closed {
405-
return
407+
return it.err
406408
}
407409
it.closed = true
408410
close(it.requestCh)
411+
return it.err
409412
}
410413

411414
type iterWorker struct {

0 commit comments

Comments
 (0)