code: def fetchall(self, mode=5, after=0, parent='any', order_by='id',
                   limit=100, page=0, asc=1):
          
          fields_comments = ['tid', 'id', 'parent', 'created', 'modified',
                             'mode', 'remote_addr', 'text', 'author',
                             'email', 'website', 'likes', 'dislikes']
          fields_threads = ['uri', 'title']
          sql_comments_fields = ', '.join(['comments.' + f
                                           for f in fields_comments])
          sql_threads_fields = ', '.join(['threads.' + f
                                          for f in fields_threads])
          sql = ['SELECT ' + sql_comments_fields + ', ' + sql_threads_fields + ' '
                 'FROM comments INNER JOIN threads '
                 'ON comments.tid=threads.id '
                 'WHERE comments.mode = ? ']
          sql_args = [mode]
  
          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', 'tid']:
              sql.append('ORDER BY ')
              sql.append("comments.created")
              if not asc:
                  sql.append(' DESC')
          else:
              sql.append('ORDER BY ')
              sql.append('comments.' + order_by)
              if not asc:
                  sql.append(' DESC')
              sql.append(", comments.created")
  
          if limit:
              sql.append('LIMIT ?,?')
              sql_args.append(page * limit)
              sql_args.append(limit)
  
          rv = self.db.execute(sql, sql_args).fetchall()
          for item in rv:
              yield dict(zip(fields_comments + fields_threads, item))
docs: Return comments for admin with :param:`mode`.