diff --git a/docker/test/fuzzer/run-fuzzer.sh b/docker/test/fuzzer/run-fuzzer.sh
index 2834a632631..dc1b35b3a21 100755
--- a/docker/test/fuzzer/run-fuzzer.sh
+++ b/docker/test/fuzzer/run-fuzzer.sh
@@ -343,10 +343,9 @@ quit
# which is confusing.
task_exit_code=$fuzzer_exit_code
echo "failure" > status.txt
- { rg -ao "Found error:.*" fuzzer.log \
- || rg -ao "Exception:.*" fuzzer.log \
- || echo "Fuzzer failed ($fuzzer_exit_code). See the logs." ; } \
- | tail -1 > description.txt
+ echo "Achtung!" > description.txt
+ echo "Fuzzer went wrong with error code: ($fuzzer_exit_code). Its process died somehow when the server stayed alive. The server log probably won't tell you much so try to find information in other files." >>description.txt
+ { rg -ao "Found error:.*" fuzzer.log || rg -ao "Exception:.*" fuzzer.log; } | tail -1 >>description.txt
fi
if test -f core.*; then
diff --git a/src/Parsers/ASTAlterQuery.cpp b/src/Parsers/ASTAlterQuery.cpp
index a93ad1d1746..f104e715452 100644
--- a/src/Parsers/ASTAlterQuery.cpp
+++ b/src/Parsers/ASTAlterQuery.cpp
@@ -634,6 +634,7 @@ void ASTAlterQuery::formatQueryImpl(const FormatSettings & settings, FormatState
settings.ostr << '.';
}
+ chassert(table);
table->formatImpl(settings, state, frame);
}
else if (alter_object == AlterObjectType::DATABASE && database)
diff --git a/src/Parsers/ASTCheckQuery.h b/src/Parsers/ASTCheckQuery.h
index 5e9032e77fb..eca08b2b094 100644
--- a/src/Parsers/ASTCheckQuery.h
+++ b/src/Parsers/ASTCheckQuery.h
@@ -53,6 +53,7 @@ protected:
settings.ostr << '.';
}
+ chassert(table);
table->formatImpl(settings, state, frame);
}
diff --git a/src/Parsers/ASTCreateIndexQuery.cpp b/src/Parsers/ASTCreateIndexQuery.cpp
index 84493ff22f1..f6def3ed85c 100644
--- a/src/Parsers/ASTCreateIndexQuery.cpp
+++ b/src/Parsers/ASTCreateIndexQuery.cpp
@@ -52,6 +52,7 @@ void ASTCreateIndexQuery::formatQueryImpl(const FormatSettings & settings, Forma
settings.ostr << '.';
}
+ chassert(table);
table->formatImpl(settings, state, frame);
}
diff --git a/src/Parsers/ASTCreateQuery.cpp b/src/Parsers/ASTCreateQuery.cpp
index 1315ea5784c..de5eb40837f 100644
--- a/src/Parsers/ASTCreateQuery.cpp
+++ b/src/Parsers/ASTCreateQuery.cpp
@@ -337,6 +337,7 @@ void ASTCreateQuery::formatQueryImpl(const FormatSettings & settings, FormatStat
settings.ostr << '.';
}
+ chassert(table);
table->formatImpl(settings, state, frame);
if (uuid != UUIDHelpers::Nil)
@@ -370,6 +371,7 @@ void ASTCreateQuery::formatQueryImpl(const FormatSettings & settings, FormatStat
settings.ostr << '.';
}
+ chassert(table);
table->formatImpl(settings, state, frame);
if (uuid != UUIDHelpers::Nil)
diff --git a/src/Parsers/ASTDeleteQuery.cpp b/src/Parsers/ASTDeleteQuery.cpp
index 1e8303dac62..67f3a85c9a5 100644
--- a/src/Parsers/ASTDeleteQuery.cpp
+++ b/src/Parsers/ASTDeleteQuery.cpp
@@ -40,6 +40,7 @@ void ASTDeleteQuery::formatQueryImpl(const FormatSettings & settings, FormatStat
settings.ostr << '.';
}
+ chassert(table);
table->formatImpl(settings, state, frame);
formatOnCluster(settings);
diff --git a/src/Parsers/ASTDropIndexQuery.cpp b/src/Parsers/ASTDropIndexQuery.cpp
index 1a1481ea27f..1109f32f019 100644
--- a/src/Parsers/ASTDropIndexQuery.cpp
+++ b/src/Parsers/ASTDropIndexQuery.cpp
@@ -47,6 +47,7 @@ void ASTDropIndexQuery::formatQueryImpl(const FormatSettings & settings, FormatS
settings.ostr << '.';
}
+ chassert(table);
table->formatImpl(settings, state, frame);
}
diff --git a/src/Parsers/ASTDropQuery.cpp b/src/Parsers/ASTDropQuery.cpp
index f41f28f745d..ca47ceccb85 100644
--- a/src/Parsers/ASTDropQuery.cpp
+++ b/src/Parsers/ASTDropQuery.cpp
@@ -76,6 +76,7 @@ void ASTDropQuery::formatQueryImpl(const FormatSettings & settings, FormatState
settings.ostr << '.';
}
+ chassert(table);
table->formatImpl(settings, state, frame);
}
diff --git a/src/Parsers/ASTInsertQuery.cpp b/src/Parsers/ASTInsertQuery.cpp
index eb4bcce6578..72a569fe047 100644
--- a/src/Parsers/ASTInsertQuery.cpp
+++ b/src/Parsers/ASTInsertQuery.cpp
@@ -74,6 +74,7 @@ void ASTInsertQuery::formatImpl(const FormatSettings & settings, FormatState & s
settings.ostr << '.';
}
+ chassert(table);
table->formatImpl(settings, state, frame);
}
diff --git a/src/Parsers/ASTOptimizeQuery.cpp b/src/Parsers/ASTOptimizeQuery.cpp
index d9406a9eca0..397a37586fc 100644
--- a/src/Parsers/ASTOptimizeQuery.cpp
+++ b/src/Parsers/ASTOptimizeQuery.cpp
@@ -15,6 +15,7 @@ void ASTOptimizeQuery::formatQueryImpl(const FormatSettings & settings, FormatSt
settings.ostr << '.';
}
+ chassert(table);
table->formatImpl(settings, state, frame);
formatOnCluster(settings);
diff --git a/src/Parsers/ASTQueryWithTableAndOutput.h b/src/Parsers/ASTQueryWithTableAndOutput.h
index 1b8621fb63b..29dbd30e54b 100644
--- a/src/Parsers/ASTQueryWithTableAndOutput.h
+++ b/src/Parsers/ASTQueryWithTableAndOutput.h
@@ -1,5 +1,6 @@
#pragma once
+#include
#include
#include
#include
@@ -61,6 +62,7 @@ protected:
settings.ostr << '.';
}
+ chassert(table);
table->formatImpl(settings, state, frame);
}
};
diff --git a/src/Parsers/ASTRenameQuery.h b/src/Parsers/ASTRenameQuery.h
index 901f0121a28..73d12be094a 100644
--- a/src/Parsers/ASTRenameQuery.h
+++ b/src/Parsers/ASTRenameQuery.h
@@ -127,6 +127,7 @@ protected:
settings.ostr << '.';
}
+ chassert(it->from.table);
it->from.table->formatImpl(settings, state, frame);
settings.ostr << (settings.hilite ? hilite_keyword : "") << (exchange ? " AND " : " TO ") << (settings.hilite ? hilite_none : "");
@@ -137,6 +138,7 @@ protected:
settings.ostr << '.';
}
+ chassert(it->to.table);
it->to.table->formatImpl(settings, state, frame);
}
diff --git a/src/Parsers/ASTSystemQuery.cpp b/src/Parsers/ASTSystemQuery.cpp
index 63311a70e42..e2ebaee8438 100644
--- a/src/Parsers/ASTSystemQuery.cpp
+++ b/src/Parsers/ASTSystemQuery.cpp
@@ -114,6 +114,7 @@ void ASTSystemQuery::formatImpl(const FormatSettings & settings, FormatState & s
settings.ostr << '.';
}
+ chassert(table);
table->formatImpl(settings, state, frame);
return settings.ostr;
};
diff --git a/src/Parsers/ASTUndropQuery.cpp b/src/Parsers/ASTUndropQuery.cpp
index ab96ca4711e..7212e264c0e 100644
--- a/src/Parsers/ASTUndropQuery.cpp
+++ b/src/Parsers/ASTUndropQuery.cpp
@@ -36,6 +36,7 @@ void ASTUndropQuery::formatQueryImpl(const FormatSettings & settings, FormatStat
settings.ostr << '.';
}
+ chassert(table);
table->formatImpl(settings, state, frame);
}
diff --git a/src/Parsers/ASTWatchQuery.h b/src/Parsers/ASTWatchQuery.h
index 80b675f513f..a5b76c07605 100644
--- a/src/Parsers/ASTWatchQuery.h
+++ b/src/Parsers/ASTWatchQuery.h
@@ -52,6 +52,7 @@ protected:
settings.ostr << '.';
}
+ chassert(table);
table->formatImpl(settings, state, frame);
if (is_watch_events)