Skip to content

Commit

Permalink
Merge pull request #54227 from ClickHouse/backport/23.3/54200
Browse files Browse the repository at this point in the history
Backport #54200 to 23.3: Fix: allow IPv6 for bloom filter
  • Loading branch information
alexey-milovidov committed Sep 5, 2023
2 parents 763a044 + e9004b0 commit 5c2742e
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/Storages/MergeTree/MergeTreeIndexFullText.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -733,7 +733,7 @@ void bloomFilterIndexValidator(const IndexDescription & index, bool /*attach*/)
data_type = WhichDataType(low_cardinality.getDictionaryType());
}

if (!data_type.isString() && !data_type.isFixedString())
if (!data_type.isString() && !data_type.isFixedString() && !data_type.isIPv6())
throw Exception(ErrorCodes::INCORRECT_QUERY,
"Ngram and token bloom filter indexes can only be used with column types `String`, `FixedString`, `LowCardinality(String)`, `LowCardinality(FixedString)`, `Array(String)` or `Array(FixedString)`");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,3 +40,4 @@
13 abc
"rows_read": 3,
2
::1
12 changes: 12 additions & 0 deletions tests/queries/0_stateless/00908_bloom_filter_index.sh
Original file line number Diff line number Diff line change
Expand Up @@ -150,3 +150,15 @@ CREATE TABLE bloom_filter_idx_na
INDEX bf na TYPE bloom_filter(0.1) GRANULARITY 1
) ENGINE = MergeTree()
ORDER BY na" 2>&1 | grep -c 'DB::Exception: Unexpected type Array(Array(String)) of bloom filter index'

# NGRAM BF with IPv6
$CLICKHOUSE_CLIENT -n --query="
CREATE TABLE bloom_filter_ipv6_idx
(
foo IPv6,
INDEX fooIndex foo TYPE ngrambf_v1(8,512,3,0) GRANULARITY 1
) ENGINE = MergeTree() ORDER BY foo;"

$CLICKHOUSE_CLIENT --query="INSERT INTO bloom_filter_ipv6_idx VALUES ('::1.2.3.4'),('::0'),('::1')"
$CLICKHOUSE_CLIENT --query="SELECT * FROM bloom_filter_ipv6_idx WHERE foo IN ('::1')"
$CLICKHOUSE_CLIENT --query="DROP TABLE bloom_filter_ipv6_idx"

0 comments on commit 5c2742e

Please sign in to comment.