```
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)
```
virtual void popBack(size_t n) = 0;
    /** Serializes n-th element. Serialized element should be placed continuously inside Arena's memory.
      * Serialized value can be deserialized to reconstruct original object. Is used in aggregation.
      * The method is similar to getDataAt(), but can work when element's value cannot be mapped to existing continuous memory chunk,
      *  For example, to obtain unambiguous representation of Array of strings, strings data should be interleaved with their sizes.
      * Parameter begin should be used with Arena::allocContinue.
      */
    virtual StringRef serializeValueIntoArena(size_t n, Arena & arena, char const *& begin) const = 0;
    
    
    virtual const char * deserializeAndInsertFromArena(const char * pos) = 0;
    
    
    virtual const char * skipSerializedInArena(const char *) const = 0;
    
    
    
    virtual void updateHashWithValue(size_t n, SipHash & hash) const = 0;
    
    
    
    virtual void updateWeakHash32(WeakHash32 & hash) const = 0;
    
    virtual void updateHashFast(SipHash & hash) const = 0;
    /** Removes elements that don't match the filter.
      * Is used in WHERE and HAVING operations.
      * If result_size_hint > 0, then makes advance reserve(result_size_hint) for the result column;
      * if 0, then don't makes reserve(),
      * otherwise (i.e. < 0), makes reserve() using size of source column.
      */