SELECT r, so FROM (SELECT DISTINCT arrayFilter(x -> (tupleElement(*, 1) = so), cg) AS r, if(['y', 'n'] < arrayMap(x -> (x.1), cg), 'y', toFixedString('n', 1)) AS so, [('n', 1)] AS cg PREWHERE (equals(isZeroOrNull(untuple((30 = (2 IS NOT NULL), 60 IS NULL, 2)), materialize((2 IS NOT NULL) = 30, 2)), isZeroOrNull(assumeNotNull(2)), toNullable(isNullable(toUInt256(2)) IS NULL, 30)), toLowCardinality(toUInt128(2)) IS NOT NULL) GROUP BY and(untuple((toLowCardinality(toUInt256(30)) = (toLowCardinality(2) IS NOT NULL), isNullable(2)))), untuple((*, (2 IS NOT NULL) = 30)) AND 28);
Inconsistent AST formatting: the query:
SELECT r, so FROM (SELECT DISTINCT arrayFilter(x -> ((*.1) = so), cg) AS r, if(['y', 'n'] < arrayMap(x -> (x.1), cg), 'y', toFixedString('n', 1)) AS so, [('n', 1)] AS cg PREWHERE (equals(isZeroOrNull(untuple((30 = (2 IS NOT NULL), 60 IS NULL, 2)), materialize((2 IS NOT NULL) = 30, 2)), isZeroOrNull(assumeNotNull(2)), toNullable(isNullable(toUInt256(2)) IS NULL, 30)), toLowCardinality(toUInt128(2)) IS NOT NULL) GROUP BY and(untuple((toLowCardinality(toUInt256(30)) = (toLowCardinality(2) IS NOT NULL), isNullable(2)))), untuple((*, (2 IS NOT NULL) = 30)) AND 28)
cannot parse query back from SELECT r, so FROM (SELECT DISTINCT arrayFilter(x -> (tupleElement(*, 1) = so), cg) AS r, if(['y', 'n'] < arrayMap(x -> (x.1), cg), 'y', toFixedString('n', 1)) AS so, [('n', 1)] AS cg PREWHERE (equals(isZeroOrNull(untuple((30 = (2 IS NOT NULL), 60 IS NULL, 2)), materialize((2 IS NOT NULL) = 30, 2)), isZeroOrNull(assumeNotNull(2)), toNullable(isNullable(toUInt256(2)) IS NULL, 30)), toLowCardinality(toUInt128(2)) IS NOT NULL) GROUP BY and(untuple((toLowCardinality(toUInt256(30)) = (toLowCardinality(2) IS NOT NULL), isNullable(2)))), untuple((*, (2 IS NOT NULL) = 30)) AND 28).
CI report: https://s3.amazonaws.com/clickhouse-test-reports/json.html?PR=78636&sha=f06711fd81760d2f0c570ec6db0973ce7d5c4d40&name_0=PR&name_1=AST+fuzzer+(debug)
Maybe related: #62975 and #68296