I created a directional relation "User acts on Node". I set up a view to display all relations of a certain user. Views displays "Anonymous (not verified)" for every RID other than 1. Its also not possible to filter on the user.

User name for any RID other than 1 is Anonymous

"User action on node" relation

$relation_type = new stdClass();
$relation_type->disabled = FALSE; /* Edit this to true to make a default relation_type disabled initially */
$relation_type->api_version = 1;
$relation_type->relation_type = 'user_action_on_node';
$relation_type->label = 'user action on node';
$relation_type->reverse_label = 'user action on node';
$relation_type->directional = 1;
$relation_type->transitive = 0;
$relation_type->r_unique = 0;
$relation_type->min_arity = 2;
$relation_type->max_arity = 2;
$relation_type->source_bundles = array(
  0 => 'user:*',
);
$relation_type->target_bundles = array(
  0 => 'node:*',
);

View to display "user acts on node":

$view = new view;
$view->name = 'my_relations';
$view->description = '';
$view->tag = 'default';
$view->base_table = 'relation';
$view->human_name = 'relations';
$view->core = 7;
$view->api_version = '3.0';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */

/* Display: Master */
$handler = $view->new_display('default', 'Master', 'default');
$handler->display->display_options['title'] = 'relations';
$handler->display->display_options['access']['type'] = 'none';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['query']['options']['query_comment'] = FALSE;
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['pager']['type'] = 'full';
$handler->display->display_options['pager']['options']['items_per_page'] = '10';
$handler->display->display_options['style_plugin'] = 'table';
$handler->display->display_options['style_options']['columns'] = array(
  'rid' => 'rid',
);
$handler->display->display_options['style_options']['default'] = '-1';
$handler->display->display_options['style_options']['info'] = array(
  'rid' => array(
    'sortable' => 0,
    'default_sort_order' => 'asc',
    'align' => '',
    'separator' => '',
    'empty_column' => 0,
  ),
);
$handler->display->display_options['style_options']['override'] = 1;
$handler->display->display_options['style_options']['sticky'] = 0;
$handler->display->display_options['style_options']['empty_table'] = 0;
/* Relationship: Relation: Relation: user action on node (relation -> node) */
$handler->display->display_options['relationships']['relation_base_user_action_on_node_node']['id'] = 'relation_base_user_action_on_node_node';
$handler->display->display_options['relationships']['relation_base_user_action_on_node_node']['table'] = 'relation';
$handler->display->display_options['relationships']['relation_base_user_action_on_node_node']['field'] = 'relation_base_user_action_on_node_node';
$handler->display->display_options['relationships']['relation_base_user_action_on_node_node']['required'] = 0;
$handler->display->display_options['relationships']['relation_base_user_action_on_node_node']['r_index'] = '1';
$handler->display->display_options['relationships']['relation_base_user_action_on_node_node']['entity_deduplication_right'] = 0;
/* Relationship: Relation: Relation: user action on node (relation -> user) */
$handler->display->display_options['relationships']['relation_base_user_action_on_node_user']['id'] = 'relation_base_user_action_on_node_user';
$handler->display->display_options['relationships']['relation_base_user_action_on_node_user']['table'] = 'relation';
$handler->display->display_options['relationships']['relation_base_user_action_on_node_user']['field'] = 'relation_base_user_action_on_node_user';
$handler->display->display_options['relationships']['relation_base_user_action_on_node_user']['required'] = 0;
$handler->display->display_options['relationships']['relation_base_user_action_on_node_user']['r_index'] = '0';
$handler->display->display_options['relationships']['relation_base_user_action_on_node_user']['entity_deduplication_left'] = 0;
/* Field: Relation: Rid */
$handler->display->display_options['fields']['rid']['id'] = 'rid';
$handler->display->display_options['fields']['rid']['table'] = 'relation';
$handler->display->display_options['fields']['rid']['field'] = 'rid';
/* Field: Relation: Uid */
$handler->display->display_options['fields']['uid']['id'] = 'uid';
$handler->display->display_options['fields']['uid']['table'] = 'relation';
$handler->display->display_options['fields']['uid']['field'] = 'uid';
$handler->display->display_options['fields']['uid']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['uid']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['uid']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['uid']['alter']['external'] = 0;
$handler->display->display_options['fields']['uid']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['uid']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['uid']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['uid']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['uid']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['uid']['alter']['more_link'] = 0;
$handler->display->display_options['fields']['uid']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['uid']['alter']['trim'] = 0;
$handler->display->display_options['fields']['uid']['alter']['html'] = 0;
$handler->display->display_options['fields']['uid']['element_label_colon'] = 1;
$handler->display->display_options['fields']['uid']['element_default_classes'] = 1;
$handler->display->display_options['fields']['uid']['hide_empty'] = 0;
$handler->display->display_options['fields']['uid']['empty_zero'] = 0;
$handler->display->display_options['fields']['uid']['hide_alter_empty'] = 1;
$handler->display->display_options['fields']['uid']['format_plural'] = 0;
/* Field: Relation: Vid */
$handler->display->display_options['fields']['vid']['id'] = 'vid';
$handler->display->display_options['fields']['vid']['table'] = 'relation';
$handler->display->display_options['fields']['vid']['field'] = 'vid';
$handler->display->display_options['fields']['vid']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['vid']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['vid']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['vid']['alter']['external'] = 0;
$handler->display->display_options['fields']['vid']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['vid']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['vid']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['vid']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['vid']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['vid']['alter']['more_link'] = 0;
$handler->display->display_options['fields']['vid']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['vid']['alter']['trim'] = 0;
$handler->display->display_options['fields']['vid']['alter']['html'] = 0;
$handler->display->display_options['fields']['vid']['element_label_colon'] = 1;
$handler->display->display_options['fields']['vid']['element_default_classes'] = 1;
$handler->display->display_options['fields']['vid']['hide_empty'] = 0;
$handler->display->display_options['fields']['vid']['empty_zero'] = 0;
$handler->display->display_options['fields']['vid']['hide_alter_empty'] = 1;
$handler->display->display_options['fields']['vid']['format_plural'] = 0;
/* Field: User: Name */
$handler->display->display_options['fields']['name']['id'] = 'name';
$handler->display->display_options['fields']['name']['table'] = 'users';
$handler->display->display_options['fields']['name']['field'] = 'name';
$handler->display->display_options['fields']['name']['relationship'] = 'relation_base_user_action_on_node_user';
$handler->display->display_options['fields']['name']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['name']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['name']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['name']['alter']['external'] = 0;
$handler->display->display_options['fields']['name']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['name']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['name']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['name']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['name']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['name']['alter']['more_link'] = 0;
$handler->display->display_options['fields']['name']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['name']['alter']['trim'] = 0;
$handler->display->display_options['fields']['name']['alter']['html'] = 0;
$handler->display->display_options['fields']['name']['element_label_colon'] = 1;
$handler->display->display_options['fields']['name']['element_default_classes'] = 1;
$handler->display->display_options['fields']['name']['hide_empty'] = 0;
$handler->display->display_options['fields']['name']['empty_zero'] = 0;
$handler->display->display_options['fields']['name']['hide_alter_empty'] = 1;
$handler->display->display_options['fields']['name']['link_to_user'] = 1;
$handler->display->display_options['fields']['name']['overwrite_anonymous'] = 0;
$handler->display->display_options['fields']['name']['format_username'] = 1;
/* Field: Relation: Relation type */
$handler->display->display_options['fields']['relation_type']['id'] = 'relation_type';
$handler->display->display_options['fields']['relation_type']['table'] = 'relation';
$handler->display->display_options['fields']['relation_type']['field'] = 'relation_type';
$handler->display->display_options['fields']['relation_type']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['relation_type']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['relation_type']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['relation_type']['alter']['external'] = 0;
$handler->display->display_options['fields']['relation_type']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['relation_type']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['relation_type']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['relation_type']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['relation_type']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['relation_type']['alter']['more_link'] = 0;
$handler->display->display_options['fields']['relation_type']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['relation_type']['alter']['trim'] = 0;
$handler->display->display_options['fields']['relation_type']['alter']['html'] = 0;
$handler->display->display_options['fields']['relation_type']['element_label_colon'] = 1;
$handler->display->display_options['fields']['relation_type']['element_default_classes'] = 1;
$handler->display->display_options['fields']['relation_type']['hide_empty'] = 0;
$handler->display->display_options['fields']['relation_type']['empty_zero'] = 0;
$handler->display->display_options['fields']['relation_type']['hide_alter_empty'] = 1;
/* Field: Content: Title */
$handler->display->display_options['fields']['title']['id'] = 'title';
$handler->display->display_options['fields']['title']['table'] = 'node';
$handler->display->display_options['fields']['title']['field'] = 'title';
$handler->display->display_options['fields']['title']['relationship'] = 'relation_base_user_action_on_node_node';
$handler->display->display_options['fields']['title']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['title']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['title']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['title']['alter']['external'] = 0;
$handler->display->display_options['fields']['title']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['title']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['title']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['title']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['title']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['title']['alter']['more_link'] = 0;
$handler->display->display_options['fields']['title']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['title']['alter']['trim'] = 0;
$handler->display->display_options['fields']['title']['alter']['html'] = 0;
$handler->display->display_options['fields']['title']['element_label_colon'] = 1;
$handler->display->display_options['fields']['title']['element_default_classes'] = 1;
$handler->display->display_options['fields']['title']['hide_empty'] = 0;
$handler->display->display_options['fields']['title']['empty_zero'] = 0;
$handler->display->display_options['fields']['title']['hide_alter_empty'] = 1;
$handler->display->display_options['fields']['title']['link_to_node'] = 1;
/* Filter criterion: Relation: Relation type */
$handler->display->display_options['filters']['relation_type']['id'] = 'relation_type';
$handler->display->display_options['filters']['relation_type']['table'] = 'relation';
$handler->display->display_options['filters']['relation_type']['field'] = 'relation_type';
$handler->display->display_options['filters']['relation_type']['value'] = array(
  'user_action_on_node' => 'user_action_on_node',
);

/* Display: Page */
$handler = $view->new_display('page', 'Page', 'page');
$handler->display->display_options['path'] = 'my-relations';
$handler->display->display_options['menu']['type'] = 'normal';
$handler->display->display_options['menu']['title'] = 'relations';
$handler->display->display_options['menu']['name'] = 'main-menu';

Comments

schultetwin’s picture

I believe this is because of a bigger issue where filters/relationships should be on seperate joins to the same table. I'm looking into this. A work around for this issue is to create a second relationship of the exact same type and specify that r index as target or source in the relationship. See other issue: #1603738: Argument + Relationship Needs Extra Join

chx’s picture

Status: Active » Closed (works as designed)

$handler->display->display_options['relationships']['relation_base_user_action_on_node_node']['required'] = 0; if you do not require a relationship then it is going to be a LEFT JOIN and LEFT JOINs can be filled with NULLs and that's what you see. Try setting required in your views relationships and if it still doesn't work please report back.

schultetwin’s picture

Status: Closed (works as designed) » Active

Relationship is not required for me.

chx’s picture

Status: Active » Closed (works as designed)

Please. This is not a relation issue. If you have a nonrequired Views relationship then it will be filled with NULLs. That's how SQL is.