ydb-go-sdk
ydb-go-sdk copied to clipboard
bug: `query.ExecModeExplain` returns `io.EOF` when scanning a row
Bug Report
YDB GO SDK version: 3.76.3
Environment macOS Sonoma 14.2.1 amd64
Current behavior:
2024/08/07 21:10:52 next rowEOF at 'github.com/ydb-platform/ydb-go-sdk/v3/internal/query.(*materializedResultSet).NextRow(result_set.go:79)'
Expected behavior: No error and query plan.
Steps to reproduce: Run the code.
Related code:
package main
import (
"context"
"log"
"time"
ydbOtel "github.com/ydb-platform/ydb-go-sdk-otel"
"github.com/ydb-platform/ydb-go-sdk/v3"
"github.com/ydb-platform/ydb-go-sdk/v3/query"
"github.com/ydb-platform/ydb-go-sdk/v3/trace"
"go.opentelemetry.io/otel/trace/noop"
)
func main() {
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
driver, err := ydb.Open(ctx, "grpc://localhost:2136/local")
if err != nil {
log.Fatal("open", err)
}
defer driver.Close(ctx)
res, err := driver.Query().Execute(ctx, "SELECT CAST(42 AS Uint32);", query.WithExecMode(query.ExecModeExplain))
if err != nil {
log.Fatal("query", err)
}
set, err := res.NextResultSet(ctx)
if err != nil {
log.Fatal("next set", err)
}
row, err := set.NextRow(ctx)
if err != nil {
log.Fatal("next row", err)
}
_ = row
}
Other information: