googleapis/mcp-toolbox · error
row iteration error: %w
Error message
row iteration error: %w
What it means
rows.Err() reported a failure after the row loop finished in RunSQL — the result stream errored during iteration (connection drop, query cancellation, or driver fault) even though earlier rows may have been read.
Source
Thrown at internal/sources/snowflake/snowflake.go:137
values := make([]interface{}, len(cols))
valuePtrs := make([]interface{}, len(cols))
for i := range values {
valuePtrs[i] = &values[i]
}
if err := rows.Scan(valuePtrs...); err != nil {
return nil, fmt.Errorf("unable to scan row: %w", err)
}
vMap := make(map[string]any)
for i, col := range cols {
vMap[col] = values[i]
}
out = append(out, vMap)
}
if err := rows.Err(); err != nil {
return nil, fmt.Errorf("row iteration error: %w", err)
}
return out, nil
}
func initSnowflakeConnection(ctx context.Context, tracer trace.Tracer, name, account, user, password, database, schema, warehouse, role string) (*sqlx.DB, error) {
//nolint:all // Reassigned ctx
ctx, span := sources.InitConnectionSpan(ctx, tracer, SourceType, name)
defer span.End()
// Set defaults for optional parameters
if warehouse == "" {
warehouse = "COMPUTE_WH"
}
if role == "" {
role = "ACCOUNTADMIN"
}
View on GitHub (pinned to 8cc6e09de2)
Solutions
- Inspect the wrapped error for the underlying cause
- Check for query timeouts and connection stability
- Retry the statement on transient network errors
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at internal/sources/snowflake/snowflake.go:137 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of googleapis/mcp-toolbox@8cc6e09de2 (2026-09-05).
Data as JSON: /api/errors/d9e980da3f12ffea.
Report an issue: GitHub.