**Describe the issue**

```
SELECT
    extract(log, '\\*   Trying ([0-9a-z\\.\\:\\[\\]]+):\\d+\\.\\.\\.') AS resolved_address,
    toIPv4(resolved_address) AS ipv4
FROM minicrawl
LIMIT 10

┌─resolved_address─┬───────────ipv4─┐
│ 89.46.106.77     │   89.46.106.77 │
│ 13.33.243.83     │   13.33.243.83 │
│ 93.95.100.90     │   93.95.100.90 │
│ 23.227.38.32     │   23.227.38.32 │
│ 203.113.174.46   │ 203.113.174.46 │
│ 13.70.20.161     │   13.70.20.161 │
│ 60.199.172.227   │ 60.199.172.227 │
│                  │        0.0.0.0 │
│                  │        0.0.0.0 │
│ 82.149.228.245   │ 82.149.228.245 │
└──────────────────┴────────────────┘
```
virtual bool lowCardinality() const { return false; }
    
    virtual bool canBeInsideLowCardinality() const { return false; }
    
    static void updateAvgValueSizeHint(const IColumn & column, double & avg_value_size_hint);
    static String getFileNameForStream(const NameAndTypePair & column, const SubstreamPath & path);
    static String getSubcolumnNameForStream(const SubstreamPath & path);
    
    
    
    static bool isSpecialCompressionAllowed(const SubstreamPath & path);
private:
    friend class DataTypeFactory;
    friend class AggregateFunctionSimpleState;
    
    void setCustomization(DataTypeCustomDescPtr custom_desc_) const;
    
    mutable DataTypeCustomNamePtr custom_name;
    mutable DataTypeCustomTextSerializationPtr custom_text_serialization;
    mutable DataTypeCustomStreamsPtr custom_streams;
public:
    const IDataTypeCustomName * getCustomName() const { return custom_name.get(); }
    const IDataTypeCustomStreams * getCustomStreams() const { return custom_streams.get(); }
};
struct WhichDataType
{
    TypeIndex idx;
    constexpr WhichDataType(TypeIndex idx_ = TypeIndex::Nothing) : idx(idx_) {}
    constexpr WhichDataType(const IDataType & data_type) : idx(data_type.getTypeId()) {}
    constexpr WhichDataType(const IDataType * data_type) : idx(data_type->getTypeId()) {}