Filter a view based on current user's roles?
Following @Jimajamma's suggestion, here's what I used. I adapted his code slightly for Drupal 7 and to allow for other roles than Administrators full access to the results.

In the View, add a contextual filter on Author: Uid, and use the following settings:

WHEN THE FILTER VALUE IS NOT AVAILABLE:


Provide default value  
Type: PHP Code


Use the following code:

global $user;

if (
    in_array('administrator', $user-&gt;roles) || 
    in_array('editor', $user-&gt;roles)
)
{return -1;}
else
{return $user-&gt;uid;}


WHEN THE FILTER VALUE IS AVAILABLE OR A DEFAULT IS PROVIDED


Specify validation criteria
Validator: PHP Code


Use the following code:

if ($argument == -1) 
{return FALSE;}
else
{return TRUE;}



Action to take if filter value does not validate: Display all results for the specified field (this is what will give admins access to all results)


And that's it!

Notes:

Compared to my initial settings, the relationship (Content: Author) isn't needed anymore; neither is the "Author" filter (which was brought in by the relationship anyway).

Apparently, for Drupal 6 the condition in the first PHP snippet should rather be if (in_array('super user', array_values($user-&gt;roles))).