
**Describe the bug**
[A link to the report](https://s3.amazonaws.com/clickhouse-test-reports/32291/2f43445a34c91beb1104422308ba5abfdf7be5bb/fuzzer_astfuzzertsan,actions//report.html)

**How to reproduce**

```SQL
CREATE TABLE t1 (`id` Int32, `key` String, `key2` String) ENGINE = TinyLog;
CREATE TABLE t2 (`id` Int32, `key` String, `key2` String) ENGINE = TinyLog;
SELECT (t1.id = t2.id) AND (t2.key = t2.key2) AND ((t1.id = t2.id) AND (t2.key = t2.key2) AND (t1.key = t1.key2) AND (t2.key2 = NULL)) AND (t1.key = t1.key2) AND (t2.key2 = NULL), NULL FROM t1 ANY INNER JOIN t2 ON (t1.key = t1
.key2) AND (NULL = t1.key) AND (t2.key = t2.key2) AND ((NULL = t1.key) = t2.id) AND (('' = t1.key) = t2.id) AND (t2.key2 = NULL);
```

{
        auto mut_col = IColumn::mutate(std::move(col));
        ColumnLowCardinality * col_lc = assert_cast<ColumnLowCardinality *>(mut_col.get());
        if (col_lc->nestedIsNullable())
        {
            return mut_col;
        }
        else if (col_lc->nestedCanBeInsideNullable())
        {
            col_lc->nestedToNullable();
            return mut_col;
        }
    }
    else if (const ColumnConst * col_const = checkAndGetColumn<ColumnConst>(*col))
    {
        const auto & nested = col_const->getDataColumnPtr();
        if (nested->isNullable() || nested->canBeInsideNullable())
        {
            return makeNullable(col);
        }
        else if (nested->lowCardinality())
        {
            ColumnPtr nested_nullable = tryConvertColumnToNullable(nested);
            if (nested_nullable)
                return ColumnConst::create(nested_nullable, col_const->size());
        }
    }
    return nullptr;
}
void convertColumnToNullable(ColumnWithTypeAndName & column)