2021-01-31 08:23:55 +00:00
|
|
|
|
#!/usr/bin/env bash
|
2021-09-12 12:35:27 +00:00
|
|
|
|
# Tags: no-debug, no-fasttest
|
|
|
|
|
# Tag no-fasttest: Hyperscan
|
2021-01-31 08:23:55 +00:00
|
|
|
|
|
|
|
|
|
CLICKHOUSE_CLIENT_SERVER_LOGS_LEVEL=fatal
|
|
|
|
|
|
|
|
|
|
CURDIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
|
|
|
|
|
# shellcheck source=../shell_config.sh
|
|
|
|
|
. "$CURDIR"/../shell_config.sh
|
|
|
|
|
|
|
|
|
|
# We throw our own exception from operator new.
|
|
|
|
|
# In previous versions of Hyperscan it triggered debug assertion as it only expected std::bad_alloc.
|
|
|
|
|
|
|
|
|
|
M=1000000
|
|
|
|
|
|
2021-10-11 13:40:12 +00:00
|
|
|
|
i=0 retries=300
|
|
|
|
|
while [[ $i -lt $retries ]]; do
|
2021-01-31 08:23:55 +00:00
|
|
|
|
$CLICKHOUSE_CLIENT --allow_hyperscan 1 --max_memory_usage $M --format Null --query "
|
|
|
|
|
SELECT [1, 2, 3, 11] = arraySort(multiMatchAllIndices('фабрикант', ['', 'рикан', 'а', 'f[a${RANDOM}e]b[ei]rl', 'ф[иа${RANDOM}эе]б[еэи][рпл]', 'афиукд', 'a[f${RANDOM}t],th', '^ф[аие${RANDOM}э]?б?[еэи]?$', 'бе${RANDOM}рлик', 'fa${RANDOM}b', 'фа[беьв]+е?[рл${RANDOM}ко]']))
|
|
|
|
|
" 2>&1 | grep -q 'Memory limit' || break;
|
|
|
|
|
|
|
|
|
|
M=$((M + 100000))
|
2021-10-11 13:40:12 +00:00
|
|
|
|
((++i))
|
2021-01-31 08:23:55 +00:00
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
echo 'Ok'
|