mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2026-10-28 16:18:23 +08:00
A raw `<` in the fill query is not valid XML and fails the `xmllint` style check. https://s3.amazonaws.com/clickhouse-test-reports/praktika.html?PR=113572&sha=f2b306ece382c1b9352d8a0ff76ca53f7a4b5e38&name_0=PR&name_1=Style%20check https://github.com/ClickHouse/ClickHouse/pull/113572 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
50 lines
1.9 KiB
XML
50 lines
1.9 KiB
XML
<test>
|
|
<settings>
|
|
<use_text_index_like_evaluation_by_dictionary_scan>1</use_text_index_like_evaluation_by_dictionary_scan>
|
|
<text_index_like_min_pattern_length>1</text_index_like_min_pattern_length>
|
|
<text_index_like_max_postings_to_read>5</text_index_like_max_postings_to_read>
|
|
<use_skip_indexes>1</use_skip_indexes>
|
|
<use_skip_indexes_on_data_read>1</use_skip_indexes_on_data_read>
|
|
<query_plan_direct_read_from_text_index>1</query_plan_direct_read_from_text_index>
|
|
<use_query_condition_cache>0</use_query_condition_cache>
|
|
<max_threads>1</max_threads>
|
|
<max_threads_for_indexes>1</max_threads_for_indexes>
|
|
</settings>
|
|
|
|
<!--
|
|
Each part has ~25k unique tokens with embedded postings and six frequent tokens that sort last
|
|
in the dictionary. A pattern matching every token scans the whole dictionary before the six
|
|
frequent tokens exceed text_index_like_max_postings_to_read, so the bailout is expensive and
|
|
repeating it dominates the query time, while the fallback scan of the column is cheap.
|
|
-->
|
|
<create_query>
|
|
CREATE TABLE text_index_pattern_bypass_cache
|
|
(
|
|
part UInt8,
|
|
id UInt64,
|
|
message String,
|
|
INDEX idx(message) TYPE text(tokenizer = splitByNonAlpha)
|
|
)
|
|
ENGINE = MergeTree
|
|
PARTITION BY part
|
|
ORDER BY id
|
|
</create_query>
|
|
|
|
<fill_query>
|
|
INSERT INTO text_index_pattern_bypass_cache
|
|
SELECT
|
|
number % 8,
|
|
number,
|
|
concat(
|
|
'q',
|
|
arrayStringConcat(arrayMap(i -> char(97 + intDiv(number, toUInt64(pow(26, i))) % 26), range(5))),
|
|
if(intDiv(number, 8) % 100 < 6, concat(' qzzzzzz', char(97 + intDiv(number, 8) % 100)), ''))
|
|
FROM numbers(200000)
|
|
</fill_query>
|
|
|
|
<query>SELECT count() FROM text_index_pattern_bypass_cache WHERE message LIKE '%q%'</query>
|
|
<query>SELECT count() FROM text_index_pattern_bypass_cache WHERE message ILIKE '%Q%'</query>
|
|
|
|
<drop_query>DROP TABLE text_index_pattern_bypass_cache</drop_query>
|
|
</test>
|