```
play-eu :) SELECT actor_login, event_type, count() FROM github_events WHERE repo_name = 'ClickHouse/ClickHouse' GROUP BY actor_login, event_type WITH ROLLUP ORDER BY count() DESC LIMIT 10

SELECT
    actor_login,
    event_type,
    count()
FROM github_events
WHERE repo_name = 'ClickHouse/ClickHouse'
GROUP BY
    actor_login,
    event_type
    WITH ROLLUP
ORDER BY count() DESC
LIMIT 10

Query id: 1b7baa06-2ee6-4ae8-b1ed-4c9ecb21514c

Ok.
Exception on client:
Code: 36. DB::Exception: Code: 36. DB::Exception: Unexpected value 0 in enum. (BAD_ARGUMENTS) (version 22.5.1.1984 (official build)). (BAD_ARGUMENTS)
```
{
        Unstable = 0,
        Stable
    };
    /** Returns a permutation that sorts elements of this column,
      *  i.e. perm[i]-th element of source column should be i-th element of sorted column.
      * direction - permutation direction.
      * stability - stability of result permutation.
      * limit - if isn't 0, then only first limit elements of the result column could be sorted.
      * nan_direction_hint - see above.
      */
    virtual void getPermutation(PermutationSortDirection direction, PermutationSortStability stability,
                            size_t limit, int nan_direction_hint, Permutation & res) const = 0;
    /*in updatePermutation we pass the current permutation and the intervals at which it should be sorted
     * Then for each interval separately (except for the last one, if there is a limit)
     * We sort it based on data about the current column, and find all the intervals within this
     * interval that had the same values in this column. we can't tell about these values in what order they
     * should have been, we form a new array with intervals that need to be sorted
     * If there is a limit, then for the last interval we do partial sorting and all that is described above,
     * but in addition we still find all the elements equal to the largest sorted, they will also need to be sorted.
     */
    virtual void updatePermutation(PermutationSortDirection direction, PermutationSortStability stability,
                            size_t limit, int nan_direction_hint, Permutation & res, EqualRanges & equal_ranges) const = 0;
    /** Equivalent to getPermutation and updatePermutation but collator is used to compare values.
      * Supported for String, LowCardinality(String), Nullable(String) and for Array and Tuple, containing them.
      */
    virtual void getPermutationWithCollation(const Collator & , PermutationSortDirection , PermutationSortStability ,