Best practice deems that you should use
EntityFieldQuery for queries that somehow involve fields and entities.
An example of query to look for nodes with a timestamp value set in the future would be the following code.
$query = new EntityFieldQuery(); $result = $query->entityCondition('entity_type', 'node') ->fieldCondition('field_foo', 'value', REQUEST_TIME, '>') ->execute();
Is applying the conditions on all revisions, instead of only the active revision, possible?
A direct query on the database tables used to store the field revision values could eventually stop to work when Drupal changes some implementation details, such as the name of the used database tables, or the data stored in those database tables.