code: def fetch(self, uri, mode=5, after=0, parent='any',
                order_by='id', asc=1, limit=None):
          
          sql = ['SELECT comments.* FROM comments INNER JOIN threads ON',
                 '    threads.uri=? AND comments.tid=threads.id AND (? | comments.mode) = ?',
                 '    AND comments.created>?']
  
          sql_args = [uri, mode, mode, after]
  
          if parent != 'any':
              if parent is None:
                  sql.append('AND comments.parent IS NULL')
              else:
                  sql.append('AND comments.parent=?')
                  sql_args.append(parent)
  
          # custom sanitization
          if order_by not in ['id', 'created', 'modified', 'likes', 'dislikes']:
              order_by = 'id'
          sql.append('ORDER BY ')
          sql.append(order_by)
          if not asc:
              sql.append(' DESC')
  
          if limit:
              sql.append('LIMIT ?')
              sql_args.append(limit)
  
          rv = self.db.execute(sql, sql_args).fetchall()
          for item in rv:
              yield dict(zip(Comments.fields, item))
docs: Return comments for :param:`uri` with :param:`mode`.