https://gh-api.clickhouse.tech/play?user=play#U0VMRUNUIHRvU3RhcnRPZk1vbnRoKGNyZWF0ZWRfYXQpIEFTIGRhdGUsIGNvdW50KCksIHVuaXEoYWN0b3JfbG9naW4pIEFTIHUsIGJhcih1LCAwLCAxMDAwLCAxMDApIEZST00gZ2l0aHViX2V2ZW50cyAKV0hFUkUgcmVwb19uYW1lIElOICgneWFuZGV4L0NsaWNrSG91c2UnLCAnQ2xpY2tIb3VzZS9DbGlja0hvdXNlJykgCiAgQU5EIGV2ZW50X3R5cGUgPSAnSXNzdWVDb21tZW50RXZlbnQnCiAgQU5EIGFjdG9yX2xvZ2luIE5PVCBMSUtFICdyb2JvdC0lJyBBTkQgYWN0b3JfbG9naW4gTk9UIExJS0UgJyVbYm90XScKR1JPVVAgQlkgZGF0ZSBPUkRFUiBCWSBkYXRl

```
SELECT toStartOfMonth(created_at) AS date, count(), uniq(actor_login) AS u, bar(u, 0, 1000, 100) FROM github_events 
WHERE repo_name IN ('yandex/ClickHouse', 'ClickHouse/ClickHouse') 
  AND event_type = 'IssueCommentEvent'
  AND actor_login NOT LIKE 'robot-%' AND actor_login NOT LIKE '%[bot]'
GROUP BY date ORDER BY date
```

```
Code: 44. DB::Exception: Cannot convert column ColumnLowCardinality to mask.: while executing 'FUNCTION and(notLike(actor_login, 'robot-%') :: 3, notLike(actor_login, '%[bot]') :: 1) -> and(notLike(actor_login, 'robot-%'), notLike(actor_login, '%[bot]')) UInt8 : 2': While executing MergeTreeThread. (ILLEGAL_COLUMN) (version 21.11.1.8052 (official build))
```
PaddedPODArray<UInt8> & mask,
    const ColumnPtr & column,
    UInt8 null_value,
    const PaddedPODArray<UInt8> * null_bytemap,
    PaddedPODArray<UInt8> * nulls = nullptr)
{
    
    if (column->onlyNull() || checkAndGetColumn<ColumnConst>(*column))
        return extractMaskFromConstOrNull<inverted>(mask, column, null_value, nulls);
    if (const auto * col = checkAndGetColumn<ColumnNullable>(*column))
    {
        const PaddedPODArray<UInt8> & null_map = col->getNullMapData();
        return extractMaskImpl<inverted>(mask, col->getNestedColumnPtr(), null_value, &null_map, nulls);
    }
    MaskInfo mask_info;
    if (!(extractMaskNumeric<inverted, UInt8>(mask, column, null_value, null_bytemap, nulls, mask_info)
          || extractMaskNumeric<inverted, UInt16>(mask, column, null_value, null_bytemap, nulls, mask_info)
          || extractMaskNumeric<inverted, UInt32>(mask, column, null_value, null_bytemap, nulls, mask_info)
          || extractMaskNumeric<inverted, UInt64>(mask, column, null_value, null_bytemap, nulls, mask_info)
          || extractMaskNumeric<inverted, Int8>(mask, column, null_value, null_bytemap, nulls, mask_info)
          || extractMaskNumeric<inverted, Int16>(mask, column, null_value, null_bytemap, nulls, mask_info)
          || extractMaskNumeric<inverted, Int32>(mask, column, null_value, null_bytemap, nulls, mask_info)
          || extractMaskNumeric<inverted, Int64>(mask, column, null_value, null_bytemap, nulls, mask_info)
          || extractMaskNumeric<inverted, Float32>(mask, column, null_value, null_bytemap, nulls, mask_info)
          || extractMaskNumeric<inverted, Float64>(mask, column, null_value, null_bytemap, nulls, mask_info)))
        throw Exception(ErrorCodes::ILLEGAL_COLUMN, "Cannot convert column {} to mask.", column->getName());
    return mask_info;
}
MaskInfo extractMask(