**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 │
└──────────────────┴────────────────┘
```
/** Values of data type can be summed (possibly with overflow, within the same data type).
      * Example: numbers, even nullable. Not Date/DateTime. Not Enum.
      * Enums can be passed to aggregate function 'sum', but the result is Int64, not Enum, so they are not summable.
      */
    virtual bool isSummable() const { return false; }
    /** Can be used in operations like bit and, bit shift, bit not, etc.
      */
    virtual bool canBeUsedInBitOperations() const { return false; }
    /** Can be used in boolean context (WHERE, HAVING).
      * UInt8, maybe nullable.
      */
    virtual bool canBeUsedInBooleanContext() const { return false; }
    /** Numbers, Enums, Date, DateTime. Not nullable.
      */
    virtual bool isValueRepresentedByNumber() const { return false; }
    /** Integers, Enums, Date, DateTime. Not nullable.
      */
    virtual bool isValueRepresentedByInteger() const { return false; }
    /** Unsigned Integers, Date, DateTime. Not nullable.
      */
    virtual bool isValueRepresentedByUnsignedInteger() const { return false; }
    /** Values are unambiguously identified by contents of contiguous memory region,
      *  that can be obtained by IColumn::getDataAt method.
      * Examples: numbers, Date, DateTime, String, FixedString,
      *  and Arrays of numbers, Date, DateTime, FixedString, Enum, but not String.
      *  (because Array(String) values became ambiguous if you concatenate Strings).
      * Counterexamples: Nullable, Tuple.
      */
    virtual bool isValueUnambiguouslyRepresentedInContiguousMemoryRegion() const { return false; }