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 )