github.com/ydb-platform/ydb-go-sdk/v3@v3.89.2/internal/query/result/result.go (about)

     1  package result
     2  
     3  import (
     4  	"context"
     5  
     6  	"github.com/ydb-platform/ydb-go-sdk/v3/internal/closer"
     7  	"github.com/ydb-platform/ydb-go-sdk/v3/internal/query/scanner"
     8  	"github.com/ydb-platform/ydb-go-sdk/v3/internal/xiter"
     9  	"github.com/ydb-platform/ydb-go-sdk/v3/table/types"
    10  )
    11  
    12  type (
    13  	Result interface {
    14  		closer.Closer
    15  
    16  		// NextResultSet returns next result set
    17  		NextResultSet(ctx context.Context) (Set, error)
    18  
    19  		// ResultSets is experimental API for range iterators available
    20  		// with Go version 1.23+
    21  		ResultSets(ctx context.Context) xiter.Seq2[Set, error]
    22  	}
    23  	Set interface {
    24  		Index() int
    25  		Columns() []string
    26  		ColumnTypes() []types.Type
    27  		NextRow(ctx context.Context) (Row, error)
    28  
    29  		// Rows is experimental API for range iterators available with Go version 1.23+
    30  		Rows(ctx context.Context) xiter.Seq2[Row, error]
    31  	}
    32  	ClosableResultSet interface {
    33  		Set
    34  		closer.Closer
    35  	}
    36  	Row interface {
    37  		Scan(dst ...interface{}) error
    38  		ScanNamed(dst ...scanner.NamedDestination) error
    39  		ScanStruct(dst interface{}, opts ...scanner.ScanStructOption) error
    40  	}
    41  )