in statement.go [150:177]
func (s *stmt) query(ctx context.Context, args []namedValue) (driver.Rows, error) {
if s.conn.connectionId == "" {
return nil, driver.ErrBadConn
}
msg := message.ExecuteRequest_builder{
StatementHandle: s.handle,
ParameterValues: s.parametersToTypedValues(args),
FirstFrameMaxSize: s.conn.config.frameMaxSize,
HasParameterValues: true,
}.Build()
if s.conn.config.frameMaxSize <= -1 {
msg.SetFirstFrameMaxSize(math.MaxInt32)
} else {
msg.SetFirstFrameMaxSize(s.conn.config.frameMaxSize)
}
res, err := s.conn.httpClient.post(ctx, msg)
if err != nil {
return nil, s.conn.avaticaErrorToResponseErrorOrError(err)
}
resultSet := res.(*message.ExecuteResponse).GetResults()
return newRows(s.conn, s.statementID, false, resultSet), nil
}