Skip to content

Commit 2965907

Browse files
committed
Add release notes for v0.0.87
1 parent 3727e3d commit 2965907

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

.github/RELEASE_NOTES_v0.0.87.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Release v0.0.87
2+
3+
## New Features
4+
5+
### 🎉 Customizable PARTITION BY Support for ClickHouse Tables
6+
7+
- **New Configuration Option**: Added `partition_bys` config section with database/table filtering capabilities (similar to existing `indexes` configuration)
8+
- **Custom Expressions**: Override the default `intDiv(id, 4294967)` partitioning with user-defined partition logic
9+
- **Snowflake ID Support**: Specifically addresses issues with Snowflake-style IDs creating excessive partitions that trigger `max_partitions_per_insert_block` limits
10+
- **Time-based Partitioning**: Enable efficient time-based partitioning patterns like `toYYYYMM(created_at)`
11+
- **Backward Compatible**: Maintains existing behavior when not configured
12+
13+
## Configuration Example
14+
15+
```yaml
16+
partition_bys:
17+
- databases: '*'
18+
tables: ['orders', 'user_events']
19+
partition_by: 'toYYYYMM(created_at)'
20+
- databases: ['analytics']
21+
tables: ['*']
22+
partition_by: 'toYYYYMMDD(event_date)'
23+
```
24+
25+
## Problem Solved
26+
27+
Fixes the issue where large Snowflake-style IDs (e.g., `1849360358546407424`) with default partitioning created too many partitions, causing replication failures due to ClickHouse's `max_partitions_per_insert_block` limit.
28+
29+
Users can now specify efficient partitioning strategies based on their data patterns and requirements.
30+
31+
## Tests
32+
33+
- Added comprehensive test coverage to verify custom partition functionality
34+
- Ensures both default and custom partition behaviors work correctly
35+
- Validates backward compatibility
36+
37+
---
38+
39+
**Closes**: #161
40+
**Pull Request**: #164

0 commit comments

Comments
 (0)