def METHOD_NAME(self, quals, columns, sortkeys=None, aggs=None, group_clauses=None, verbose=False):
    """Main Multicorn entry point."""
    query = quals_to_socrata(quals, self.column_map)
    select, agg_map = cols_to_socrata(columns, group_clauses, aggs, self.column_map)
    order = sortkeys_to_socrata(sortkeys, group_clauses, aggs, self.column_map)
    group = group_to_socrata(group_clauses, self.column_map)
    logging.debug(
        "Socrata query: %r, select: %r, order: %r, group: %r", query, select, order, group
    )
    # TODO offsets stop working after some point?
    result = self.client.get_all(
        dataset_identifier=self.table,
        where=query,
        select=select,
        limit=self.batch_size,
        order=order,
        group=group,
        exclude_system_fields="false",
    )
    flipped_column_map = {v: k for k, v in self.column_map.items()}
    for r in result:
        r = to_json(r, flipped_column_map, agg_map)
        yield r