|
1 | 1 | CREATE TABLE bluesky ( |
2 | | - `id` BIGINT NOT NULL AUTO_INCREMENT, |
3 | | - `data` variant NOT NULL |
| 2 | + kind VARCHAR(100) GENERATED ALWAYS AS (get_json_string(data, '$.kind')) NOT NULL, |
| 3 | + operation VARCHAR(100) GENERATED ALWAYS AS (get_json_string(data, '$.commit.operation')) NULL, |
| 4 | + collection VARCHAR(100) GENERATED ALWAYS AS (get_json_string(data, '$.commit.collection')) NULL, |
| 5 | + did VARCHAR(100) GENERATED ALWAYS AS (get_json_string(data,'$.did')) NOT NULL, |
| 6 | + time DATETIME GENERATED ALWAYS AS (from_microsecond(get_json_bigint(data, '$.time_us'))) NOT NULL, |
| 7 | + `data` variant<'kind': string, 'commit.operation' : string, 'commit.collection' : string, 'did' : string, 'time_us' : bigint, properties("variant_max_subcolumns_count" = "1024")> NOT NULL, |
| 8 | + INDEX idx_kind(data) USING INVERTED PROPERTIES("field_pattern" = "kind"), |
| 9 | + INDEX idx_operation(data) USING INVERTED PROPERTIES("field_pattern" = "commit.operation"), |
| 10 | + INDEX idx_collection(data) USING INVERTED PROPERTIES("field_pattern" = "commit.collection"), |
| 11 | + INDEX idx_did(data) USING INVERTED PROPERTIES("field_pattern" = "did"), |
| 12 | + INDEX idx_time(data) USING INVERTED PROPERTIES("field_pattern" = "time_us"), |
4 | 13 | ) |
5 | | -DISTRIBUTED BY HASH(id) BUCKETS 32 |
6 | | -PROPERTIES ( |
7 | | - "replication_num"="1" |
8 | | -); |
| 14 | +DUPLICATE KEY (kind, operation, collection, did) |
| 15 | +DISTRIBUTED BY HASH(collection, did) BUCKETS 32 |
| 16 | +PROPERTIES ("replication_num"="1"); |
0 commit comments