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{
StatementHandle: s.handle,
ParameterValues: s.parametersToTypedValues(args),
FirstFrameMaxSize: s.conn.config.frameMaxSize,
HasParameterValues: true,
}
if s.conn.config.frameMaxSize <= -1 {
msg.FirstFrameMaxSize = math.MaxInt32
} else {
msg.FirstFrameMaxSize = 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).Results
return newRows(s.conn, s.statementID, false, resultSet), nil
}