mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-28 10:31:57 +00:00
Fix timeout in sql_fuzzy test
This commit is contained in:
parent
4dc12873b9
commit
baa85f0a88
@ -12,11 +12,15 @@
|
|||||||
namespace DB::ErrorCodes
|
namespace DB::ErrorCodes
|
||||||
{
|
{
|
||||||
extern const int LOGICAL_ERROR;
|
extern const int LOGICAL_ERROR;
|
||||||
|
extern const int TOO_LARGE_ARRAY_SIZE;
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace DB::GatherUtils
|
namespace DB::GatherUtils
|
||||||
{
|
{
|
||||||
|
|
||||||
|
inline constexpr size_t MAX_ARRAY_SIZE = 1 << 30;
|
||||||
|
|
||||||
|
|
||||||
/// Methods to copy Slice to Sink, overloaded for various combinations of types.
|
/// Methods to copy Slice to Sink, overloaded for various combinations of types.
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
@ -673,6 +677,10 @@ void resizeDynamicSize(ArraySource && array_source, ValueSource && value_source,
|
|||||||
if (size >= 0)
|
if (size >= 0)
|
||||||
{
|
{
|
||||||
auto length = static_cast<size_t>(size);
|
auto length = static_cast<size_t>(size);
|
||||||
|
if (length > MAX_ARRAY_SIZE)
|
||||||
|
throw Exception(ErrorCodes::TOO_LARGE_ARRAY_SIZE, "Too large array size: {}, maximum: {}",
|
||||||
|
length, MAX_ARRAY_SIZE);
|
||||||
|
|
||||||
if (array_size <= length)
|
if (array_size <= length)
|
||||||
{
|
{
|
||||||
writeSlice(array_source.getWhole(), sink);
|
writeSlice(array_source.getWhole(), sink);
|
||||||
@ -685,6 +693,10 @@ void resizeDynamicSize(ArraySource && array_source, ValueSource && value_source,
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
auto length = static_cast<size_t>(-size);
|
auto length = static_cast<size_t>(-size);
|
||||||
|
if (length > MAX_ARRAY_SIZE)
|
||||||
|
throw Exception(ErrorCodes::TOO_LARGE_ARRAY_SIZE, "Too large array size: {}, maximum: {}",
|
||||||
|
length, MAX_ARRAY_SIZE);
|
||||||
|
|
||||||
if (array_size <= length)
|
if (array_size <= length)
|
||||||
{
|
{
|
||||||
for (size_t i = array_size; i < length; ++i)
|
for (size_t i = array_size; i < length; ++i)
|
||||||
@ -714,6 +726,10 @@ void resizeConstantSize(ArraySource && array_source, ValueSource && value_source
|
|||||||
if (size >= 0)
|
if (size >= 0)
|
||||||
{
|
{
|
||||||
auto length = static_cast<size_t>(size);
|
auto length = static_cast<size_t>(size);
|
||||||
|
if (length > MAX_ARRAY_SIZE)
|
||||||
|
throw Exception(ErrorCodes::TOO_LARGE_ARRAY_SIZE, "Too large array size: {}, maximum: {}",
|
||||||
|
length, MAX_ARRAY_SIZE);
|
||||||
|
|
||||||
if (array_size <= length)
|
if (array_size <= length)
|
||||||
{
|
{
|
||||||
writeSlice(array_source.getWhole(), sink);
|
writeSlice(array_source.getWhole(), sink);
|
||||||
@ -726,6 +742,10 @@ void resizeConstantSize(ArraySource && array_source, ValueSource && value_source
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
auto length = static_cast<size_t>(-size);
|
auto length = static_cast<size_t>(-size);
|
||||||
|
if (length > MAX_ARRAY_SIZE)
|
||||||
|
throw Exception(ErrorCodes::TOO_LARGE_ARRAY_SIZE, "Too large array size: {}, maximum: {}",
|
||||||
|
length, MAX_ARRAY_SIZE);
|
||||||
|
|
||||||
if (array_size <= length)
|
if (array_size <= length)
|
||||||
{
|
{
|
||||||
for (size_t i = array_size; i < length; ++i)
|
for (size_t i = array_size; i < length; ++i)
|
||||||
|
@ -57,7 +57,6 @@ void sliceHas(IArraySource & first, IArraySource & second, ArraySearchType searc
|
|||||||
void push(IArraySource & array_source, IValueSource & value_source, IArraySink & sink, bool push_front);
|
void push(IArraySource & array_source, IValueSource & value_source, IArraySink & sink, bool push_front);
|
||||||
|
|
||||||
void resizeDynamicSize(IArraySource & array_source, IValueSource & value_source, IArraySink & sink, const IColumn & size_column);
|
void resizeDynamicSize(IArraySource & array_source, IValueSource & value_source, IArraySink & sink, const IColumn & size_column);
|
||||||
|
|
||||||
void resizeConstantSize(IArraySource & array_source, IValueSource & value_source, IArraySink & sink, ssize_t size);
|
void resizeConstantSize(IArraySource & array_source, IValueSource & value_source, IArraySink & sink, ssize_t size);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,7 @@ $CLICKHOUSE_CLIENT -q "select name from system.table_functions format TSV;" > "$
|
|||||||
# if you want long run use: env SQL_FUZZY_RUNS=100000 clickhouse-test sql_fuzzy
|
# if you want long run use: env SQL_FUZZY_RUNS=100000 clickhouse-test sql_fuzzy
|
||||||
|
|
||||||
for SQL_FUZZY_RUN in $(seq "${SQL_FUZZY_RUNS:=10}"); do
|
for SQL_FUZZY_RUN in $(seq "${SQL_FUZZY_RUNS:=10}"); do
|
||||||
env SQL_FUZZY_RUN="$SQL_FUZZY_RUN" "$CURDIR"/00746_sql_fuzzy.pl | $CLICKHOUSE_CLIENT --format Null --max_execution_time 10 -n --ignore-error >/dev/null 2>&1
|
env SQL_FUZZY_RUN="$SQL_FUZZY_RUN" "$CURDIR"/00746_sql_fuzzy.pl | timeout 60 $CLICKHOUSE_CLIENT --format Null --max_execution_time 10 -n --ignore-error >/dev/null 2>&1
|
||||||
if [[ $($CLICKHOUSE_CLIENT -q "SELECT 'Still alive'") != 'Still alive' ]]; then
|
if [[ $($CLICKHOUSE_CLIENT -q "SELECT 'Still alive'") != 'Still alive' ]]; then
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
|
Loading…
Reference in New Issue
Block a user