docs: def get_find_all_query(self, table_name, constraints=None, *, columns=None, order_by=None,
                           limiting=(None, None)):
      """Builds a find query.
  
      :limiting: if present must be a 2-tuple of (limit, offset) either of which can be None.
      """
      where, params = self.parse_constraints(constraints)
  
      if columns:
        if isinstance(columns, str):
          pass
        else:
          columns = ", ".join(columns)
      else:
        columns = "*"
  
      if order_by:
        order = " order by {0}".format(order_by)
      else:
        order = ""
  
      paging = ""
      if limiting is not None:
        limit, offset = limiting
        if limit is not None:
          paging += " limit {0}".format(limit)
        if offset is not None:
          paging += " offset {0}".format(offset)
  
      return ("select {0} from {1} where {2}{3}{4}".format(
        columns,
        table_name,
        where or "1 = 1",
        order,
        paging
      ), params)