Fix debug assertion in Hyperscan

This commit is contained in:
Alexey Milovidov 2021-01-31 07:23:07 +03:00
parent d93dad0ec3
commit e5736c4c8d
4 changed files with 7 additions and 2 deletions

2
contrib/hyperscan vendored

@ -1 +1 @@
Subproject commit 3907fd00ee8b2538739768fa9533f8635a276531
Subproject commit e9f08df0213fc637aac0a5bbde9beeaeba2fe9fa

View File

@ -168,7 +168,6 @@ namespace MultiRegexps
hs_database_t * db = nullptr;
hs_compile_error_t * compile_error;
std::unique_ptr<unsigned int[]> ids;
/// We mark the patterns to provide the callback results.

View File

@ -0,0 +1,6 @@
-- We throw our own exception from operator new.
-- In previous versions of Hyperscan it triggered debug assertion as it only expected std::bad_alloc.
SET allow_hyperscan = 1;
SET max_memory_usage = 4000000;
SELECT [1, 2, 3, 11] = arraySort(multiMatchAllIndices('фабрикант', ['', 'рикан', 'а', 'f[ae]b[ei]rl', 'ф[иаэе]б[еэи][рпл]', 'афиукд', 'a[ft],th', '^ф[аиеэ]?б?[еэи]?$', 'берлик', 'fab', 'фа[беьв]+е?[рлко]'])); -- { serverError 241 }