code: def run(self):
          
          query = self.query
  
          # count before filtering
          self.cardinality = query.add_columns(self.columns[0].sqla_expr).count()
  
          self._set_column_filter_expressions()
          self._set_global_filter_expression()
          self._set_sort_expressions()
          self._set_yadcf_data(query)
  
          # apply filters
          query = query.filter(
              *[e for e in self.filter_expressions if e is not None])
  
          self.cardinality_filtered = query.add_columns(
              self.columns[0].sqla_expr).count()
  
          # apply sorts
          query = query.order_by(
              *[e for e in self.sort_expressions if e is not None])
  
          # add paging options
          length = int(self.params.get('length'))
          if length >= 0:
              query = query.limit(length)
          elif length == -1:
              pass
          else:
              raise (ValueError(
                  'Length should be a positive integer or -1 to disable'))
          query = query.offset(int(self.params.get('start')))
  
          # add columns to query
          query = query.add_columns(*[c.sqla_expr for c in self.columns])
  
          # fetch the result of the queries
          column_names = [
              col.mData if col.mData else str(i)
              for i, col in enumerate(self.columns)
          ]
          self.results = [{k: v
                           for k, v in zip(column_names, row)}
                          for row in query.all()]
docs: Launch filtering, sorting and paging to output results.