mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-21 15:12:02 +00:00
Added another test
This commit is contained in:
parent
861237f225
commit
d98bc1175c
23
tests/queries/0_stateless/01273_extractGroups.reference
Normal file
23
tests/queries/0_stateless/01273_extractGroups.reference
Normal file
@ -0,0 +1,23 @@
|
||||
0 groups, zero matches
|
||||
[]
|
||||
1 group, multiple matches, String and FixedString
|
||||
['hello','world']
|
||||
['hello','world']
|
||||
['hello','world']
|
||||
['hello','world']
|
||||
['hello','world']
|
||||
['hello','world']
|
||||
multiple matches
|
||||
['abc','111']
|
||||
big match
|
||||
0 0 []
|
||||
260 1 [156]
|
||||
520 1 [156]
|
||||
lots of matches
|
||||
0 0 0
|
||||
260 1 1
|
||||
520 1 1
|
||||
lots of groups
|
||||
0 0 []
|
||||
260 100 [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
|
||||
520 100 [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
|
51
tests/queries/0_stateless/01273_extractGroups.sql
Normal file
51
tests/queries/0_stateless/01273_extractGroups.sql
Normal file
@ -0,0 +1,51 @@
|
||||
-- error cases
|
||||
SELECT extractGroups(); --{serverError 42} not enough arguments
|
||||
SELECT extractGroups('hello'); --{serverError 42} not enough arguments
|
||||
SELECT extractGroups('hello', 123); --{serverError 43} invalid argument type
|
||||
SELECT extractGroups(123, 'world'); --{serverError 43} invalid argument type
|
||||
SELECT extractGroups('hello world', '((('); --{serverError 427} invalid re
|
||||
SELECT extractGroups('hello world', materialize('\\w+')); --{serverError 44} non-cons needle
|
||||
|
||||
SELECT '0 groups, zero matches';
|
||||
SELECT extractGroups('hello world', '\\w+');
|
||||
|
||||
SELECT '1 group, multiple matches, String and FixedString';
|
||||
SELECT extractGroups('hello world', '(\\w+) (\\w+)');
|
||||
SELECT extractGroups('hello world', CAST('(\\w+) (\\w+)' as FixedString(11)));
|
||||
SELECT extractGroups(CAST('hello world' AS FixedString(12)), '(\\w+) (\\w+)');
|
||||
SELECT extractGroups(CAST('hello world' AS FixedString(12)), CAST('(\\w+) (\\w+)' as FixedString(11)));
|
||||
SELECT extractGroups(materialize(CAST('hello world' AS FixedString(12))), '(\\w+) (\\w+)');
|
||||
SELECT extractGroups(materialize(CAST('hello world' AS FixedString(12))), CAST('(\\w+) (\\w+)' as FixedString(11)));
|
||||
|
||||
SELECT 'multiple matches';
|
||||
SELECT extractGroups('abc=111, def=222, ghi=333 "jkl mno"="444 foo bar"', '("[^"]+"|\\w+)=("[^"]+"|\\w+)');
|
||||
|
||||
SELECT 'big match';
|
||||
SELECT
|
||||
length(haystack), length(matches), arrayMap((x) -> length(x), matches)
|
||||
FROM (
|
||||
SELECT
|
||||
repeat('abcdefghijklmnopqrstuvwxyz', number * 10) AS haystack,
|
||||
extractGroups(haystack, '(abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz)') AS matches
|
||||
FROM numbers(3)
|
||||
);
|
||||
|
||||
SELECT 'lots of matches';
|
||||
SELECT
|
||||
length(haystack), length(matches), arrayReduce('sum', arrayMap((x) -> length(x), matches))
|
||||
FROM (
|
||||
SELECT
|
||||
repeat('abcdefghijklmnopqrstuvwxyz', number * 10) AS haystack,
|
||||
extractGroups(haystack, '(\\w)') AS matches
|
||||
FROM numbers(3)
|
||||
);
|
||||
|
||||
SELECT 'lots of groups';
|
||||
SELECT
|
||||
length(haystack), length(matches), arrayMap((x) -> length(x), matches)
|
||||
FROM (
|
||||
SELECT
|
||||
repeat('abcdefghijklmnopqrstuvwxyz', number * 10) AS haystack,
|
||||
extractGroups(haystack, repeat('(\\w)', 100)) AS matches
|
||||
FROM numbers(3)
|
||||
);
|
Loading…
Reference in New Issue
Block a user