in go/connection.go [228:257]
func (c *Connection) ExecContext(ctx context.Context, query string, namedArgs []driver.NamedValue) (driver.Result, error) {
var obs = c.connector.tracer
var err error
args := namedValueToValue(namedArgs)
if len(namedArgs) > 0 {
query, err = c.interpolateParams(query, args)
if err != nil {
return nil, err
}
obs.Scope().Counter(DriverName + ".execcontext").Inc(1)
}
if !isQueryValid(query) {
return nil, ErrInvalidQuery
}
rows, err := c.QueryContext(ctx, query, []driver.NamedValue{})
if err != nil {
return nil, err
}
var rowAffected int64 = 0
r := rows.(*Rows)
if r != nil && r.ResultOutput != nil && r.ResultOutput.UpdateCount != nil {
rowAffected = *r.ResultOutput.UpdateCount
}
var lastInsertedID int64 = -1
result := AthenaResult{
lastInsertedID: lastInsertedID,
rowAffected: rowAffected,
}
return result, nil
}