pager query with join
The join() method doesn't return the query object to isn't chainable.

If you change your code to this you should be fine:

$polls_query = db_select('poll', 'p')
  -&gt;extend('PagerDefault')
  -&gt;limit(3);

$polls_query-&gt;join('node', 'n', 'n.nid = p.nid');

$polls_query-&gt;fields('p', array('nid'))
  -&gt;condition('p.active', 1, '=')
  -&gt;orderBy('n.created', 'DESC');

// etc...