code: func (c *Connector) MultiUpsert(ctx context.Context, ei *dosa.EntityInfo, multiValues []map[string]dosa.FieldValue) ([]error, error) {
  	values, err := fieldValueMapsFromClientMaps(multiValues)
  	if err != nil {
  		return nil, err
  	}
  
  	// ttl := dosa.NoTTL().Nanoseconds()
  	// if ei.TTL != nil {
  	// 	ttl = ei.TTL.Nanoseconds()
  	// }
  
  	// perform the multi upsert request
  	request := &dosarpc.MultiUpsertRequest{
  		Ref:      entityInfoToSchemaRef(ei),
  		Entities: values,
  		// TTL:      &ttl, mgode@ has not yet committed origin/ttl-for-multi-upsert
  	}
  
  	response, err := c.client.MultiUpsert(ctx, request, getHeaders(c.headers)...)
  	if err != nil {
  		if !dosarpc.Dosa_MultiUpsert_Helper.IsException(err) {
  			return nil, errors.Wrap(err, "failed to MultiUpsert due to network issue")
  		}
  
  		return nil, errors.Wrap(err, "failed to MultiUpsert")
  	}
  
  	rpcErrors := response.Errors
  	results := make([]error, len(rpcErrors))
  	for i, rpcError := range rpcErrors {
  		if rpcError != nil {
  			results[i] = wrapIDLError(rpcError)
  		}
  	}
  
  	return results, nil
  }
docs: // MultiUpsert upserts multiple entities at one time