From c76aec69a9b9466de758b6ff36dc474344b178ff Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Fri, 29 Jul 2022 20:10:01 -0700 Subject: [PATCH] ircd::m::dbs: Upgrade descriptors to designated initializers. --- matrix/dbs_event_column.cc | 398 ++++++++---------------------------- matrix/dbs_event_horizon.cc | 56 ++--- matrix/dbs_event_idx.cc | 55 +---- matrix/dbs_event_json.cc | 62 ++---- matrix/dbs_event_refs.cc | 57 ++---- matrix/dbs_event_sender.cc | 55 ++--- matrix/dbs_event_state.cc | 56 ++--- matrix/dbs_event_type.cc | 56 ++--- 8 files changed, 166 insertions(+), 629 deletions(-) diff --git a/matrix/dbs_event_column.cc b/matrix/dbs_event_column.cc index 3b3481a36..413ed8f54 100644 --- a/matrix/dbs_event_column.cc +++ b/matrix/dbs_event_column.cc @@ -85,11 +85,8 @@ ircd::m::dbs::desc::event_id__cache_comp__size const ircd::db::descriptor ircd::m::dbs::desc::event_id { - // name - "event_id", - - // explanation - R"(Stores the event_id property of an event. + .name = "event_id", + .explain = R"(Stores the event_id property of an event. As with all direct event columns the key is an event_idx and the value is the data for the event. It should be mentioned for this column @@ -102,43 +99,18 @@ ircd::m::dbs::desc::event_id )", - // typing (key, value) + .type = { typeid(uint64_t), typeid(string_view) }, - // options - {}, - - // comparator - {}, - - // prefix transform - {}, - - // drop column - false, - - // cache size - bool(cache_enable)? -1 : 0, - - // cache size for compressed assets - bool(cache_comp_enable)? -1 : 0, - - // bloom filter bits - size_t(_event__bloom__bits), - - // expect queries hit - true, - - // block size - size_t(event_id__block__size), - - // meta_block size - size_t(event_id__meta_block__size), - - // compression - string_view{event_id__comp}, + .cache_size = bool(cache_enable)? -1 : 0, + .cache_size_comp = bool(cache_comp_enable)? -1 : 0, + .bloom_bits = size_t(_event__bloom__bits), + .expect_queries_hit = true, + .block_size = size_t(event_id__block__size), + .meta_block_size = size_t(event_id__meta_block__size), + .compression = string_view{event_id__comp}, }; // @@ -197,11 +169,8 @@ ircd::m::dbs::desc::type__cache_comp__size const ircd::db::descriptor ircd::m::dbs::desc::type { - // name - "type", - - // explanation - R"(Stores the type property of an event. + .name = "type", + .explain = R"(Stores the type property of an event. 10.1 The type of event. This SHOULD be namespaced similar to Java package naming conventions @@ -214,43 +183,18 @@ ircd::m::dbs::desc::type key is event_idx number. )", - // typing (key, value) + .type = { typeid(uint64_t), typeid(string_view) }, - // options - {}, - - // comparator - {}, - - // prefix transform - {}, - - // drop column - false, - - // cache size - bool(cache_enable)? -1 : 0, - - // cache size for compressed assets - bool(cache_comp_enable)? -1 : 0, - - // bloom filter bits - size_t(_event__bloom__bits), - - // expect queries hit - true, - - // block size - size_t(type__block__size), - - // meta_block size - size_t(type__meta_block__size), - - // compression - string_view{type__comp}, + .cache_size = bool(cache_enable)? -1 : 0, + .cache_size_comp = bool(cache_comp_enable)? -1 : 0, + .bloom_bits = size_t(_event__bloom__bits), + .expect_queries_hit = true, + .block_size = size_t(type__block__size), + .meta_block_size = size_t(type__meta_block__size), + .compression = string_view{type__comp}, }; // @@ -316,11 +260,8 @@ ircd::m::dbs::desc::content__file__size__max const ircd::db::descriptor ircd::m::dbs::desc::content { - // name - "content", - - // explanation - R"(Stores the content property of an event. + .name = "content", + .explain = R"(Stores the content property of an event. 10.1 The fields in this object will vary depending on the type of event. When interacting @@ -333,55 +274,20 @@ ircd::m::dbs::desc::content key is event_idx number. )", - // typing (key, value) + .type = { typeid(uint64_t), typeid(string_view) }, - // options - {}, - - // comparator - {}, - - // prefix transform - {}, - - // drop column - false, - - // cache size - bool(cache_enable)? -1 : 0, - - // cache size for compressed assets - bool(cache_comp_enable)? -1 : 0, - - // bloom filter bits - size_t(_event__bloom__bits), - - // expect queries hit - true, - - // block size - size_t(content__block__size), - - // meta_block size - size_t(content__meta_block__size), - - // compression - string_view{content__comp}, - - // compactor - {}, - - // compaction priority algorithm, - "Universal"s, - - // target_file_size - { - size_t(content__file__size__max), - 1L, - }, + .cache_size = bool(cache_enable)? -1 : 0, + .cache_size_comp = bool(cache_comp_enable)? -1 : 0, + .bloom_bits = size_t(_event__bloom__bits), + .expect_queries_hit = true, + .block_size = size_t(content__block__size), + .meta_block_size = size_t(content__meta_block__size), + .compression = string_view{content__comp}, + .compaction_pri = "Universal"s, + .target_file_size = { size_t(content__file__size__max), 1L, }, }; // @@ -440,11 +346,8 @@ ircd::m::dbs::desc::room_id__cache_comp__size const ircd::db::descriptor ircd::m::dbs::desc::room_id { - // name - "room_id", - - // explanation - R"(Stores the room_id property of an event. + .name = "room_id", + .explain = R"(Stores the room_id property of an event. 10.2 (apropos room events) Required. The ID of the room associated with this event. @@ -456,43 +359,18 @@ ircd::m::dbs::desc::room_id key is event_idx number. )", - // typing (key, value) + .type = { typeid(uint64_t), typeid(string_view) }, - // options - {}, - - // comparator - {}, - - // prefix transform - {}, - - // drop column - false, - - // cache size - bool(cache_enable)? -1 : 0, - - // cache size for compressed assets - bool(cache_comp_enable)? -1 : 0, - - // bloom filter bits - size_t(_event__bloom__bits), - - // expect queries hit - true, - - // block size - size_t(room_id__block__size), - - // meta_block size - size_t(room_id__meta_block__size), - - // compression - string_view{room_id__comp}, + .cache_size = bool(cache_enable)? -1 : 0, + .cache_size_comp = bool(cache_comp_enable)? -1 : 0, + .bloom_bits = size_t(_event__bloom__bits), + .expect_queries_hit = true, + .block_size = size_t(room_id__block__size), + .meta_block_size = size_t(room_id__meta_block__size), + .compression = string_view{room_id__comp}, }; // @@ -551,11 +429,8 @@ ircd::m::dbs::desc::sender__cache_comp__size const ircd::db::descriptor ircd::m::dbs::desc::sender { - // name - "sender", - - // explanation - R"(Stores the sender property of an event. + .name = "sender", + .explain = R"(Stores the sender property of an event. 10.2 (apropos room events) Required. Contains the fully-qualified ID of the user who sent this event. @@ -567,43 +442,18 @@ ircd::m::dbs::desc::sender key is event_idx number. )", - // typing (key, value) + .type = { typeid(uint64_t), typeid(string_view) }, - // options - {}, - - // comparator - {}, - - // prefix transform - {}, - - // drop column - false, - - // cache size - bool(cache_enable)? -1 : 0, - - // cache size for compressed assets - bool(cache_comp_enable)? -1 : 0, - - // bloom filter bits - size_t(_event__bloom__bits), - - // expect queries hit - true, - - // block size - size_t(sender__block__size), - - // meta_block size - size_t(sender__meta_block__size), - - // compression - string_view{sender__comp}, + .cache_size = bool(cache_enable)? -1 : 0, + .cache_size_comp = bool(cache_comp_enable)? -1 : 0, + .bloom_bits = size_t(_event__bloom__bits), + .expect_queries_hit = true, + .block_size = size_t(sender__block__size), + .meta_block_size = size_t(sender__meta_block__size), + .compression = string_view{sender__comp}, }; // @@ -662,11 +512,8 @@ ircd::m::dbs::desc::state_key__cache_comp__size const ircd::db::descriptor ircd::m::dbs::desc::state_key { - // name - "state_key", - - // explanation - R"(Stores the state_key property of an event. + .name = "state_key", + .explain = R"(Stores the state_key property of an event. 10.3 (apropos room state events) A unique key which defines the overwriting semantics for this piece of room state. @@ -680,43 +527,18 @@ ircd::m::dbs::desc::state_key key is event_idx number. )", - // typing (key, value) + .type = { typeid(uint64_t), typeid(string_view) }, - // options - {}, - - // comparator - {}, - - // prefix transform - {}, - - // drop column - false, - - // cache size - bool(cache_enable)? -1 : 0, - - // cache size for compressed assets - bool(cache_comp_enable)? -1 : 0, - - // bloom filter bits - size_t(_event__bloom__bits), - - // expect queries hit - true, - - // block size - size_t(state_key__block__size), - - // meta_block size - size_t(state_key__meta_block__size), - - // compression - string_view{state_key__comp}, + .cache_size = bool(cache_enable)? -1 : 0, + .cache_size_comp = bool(cache_comp_enable)? -1 : 0, + .bloom_bits = size_t(_event__bloom__bits), + .expect_queries_hit = true, + .block_size = size_t(state_key__block__size), + .meta_block_size = size_t(state_key__meta_block__size), + .compression = string_view{state_key__comp}, }; // @@ -775,11 +597,8 @@ ircd::m::dbs::desc::origin_server_ts__cache_comp__size const ircd::db::descriptor ircd::m::dbs::desc::origin_server_ts { - // name - "origin_server_ts", - - // explanation - R"(Stores the origin_server_ts property of an event. + .name = "origin_server_ts", + .explain = R"(Stores the origin_server_ts property of an event. FEDERATION 4.1 Timestamp in milliseconds on origin homeserver when this PDU was created. @@ -792,43 +611,18 @@ ircd::m::dbs::desc::origin_server_ts )", - // typing (key, value) + .type = { typeid(uint64_t), typeid(time_t) }, - // options - {}, - - // comparator - {}, - - // prefix transform - {}, - - // drop column - false, - - // cache size - bool(cache_enable)? -1 : 0, - - // cache size for compressed assets - bool(cache_comp_enable)? -1 : 0, - - // bloom filter bits - size_t(_event__bloom__bits), - - // expect queries hit - true, - - // block size - size_t(origin_server_ts__block__size), - - // meta_block size - size_t(origin_server_ts__meta_block__size), - - // compression - string_view{origin_server_ts__comp}, + .cache_size = bool(cache_enable)? -1 : 0, + .cache_size_comp = bool(cache_comp_enable)? -1 : 0, + .bloom_bits = size_t(_event__bloom__bits), + .expect_queries_hit = true, + .block_size = size_t(origin_server_ts__block__size), + .meta_block_size = size_t(origin_server_ts__meta_block__size), + .compression = string_view{origin_server_ts__comp}, }; // @@ -887,53 +681,25 @@ ircd::m::dbs::desc::depth__cache_comp__size const ircd::db::descriptor ircd::m::dbs::desc::depth { - // name - "depth", - - // explanation - R"(Stores the depth property of an event. + .name = "depth", + .explain = R"(Stores the depth property of an event. ### developer note: key is event_idx number. value is long integer )", - // typing (key, value) + .type = { typeid(uint64_t), typeid(int64_t) }, - // options - {}, - - // comparator - {}, - - // prefix transform - {}, - - // drop column - false, - - // cache size - bool(cache_enable)? -1 : 0, - - // cache size for compressed assets - bool(cache_comp_enable)? -1 : 0, - - // bloom filter bits - size_t(_event__bloom__bits), - - // expect queries hit - true, - - // block size - size_t(depth__block__size), - - // meta_block size - size_t(depth__meta_block__size), - - // compression - string_view{depth__comp}, + .cache_size = bool(cache_enable)? -1 : 0, + .cache_size_comp = bool(cache_comp_enable)? -1 : 0, + .bloom_bits = size_t(_event__bloom__bits), + .expect_queries_hit = true, + .block_size = size_t(depth__block__size), + .meta_block_size = size_t(depth__meta_block__size), + .compression = string_view{depth__comp}, }; void diff --git a/matrix/dbs_event_horizon.cc b/matrix/dbs_event_horizon.cc index a27a82994..c7753e158 100644 --- a/matrix/dbs_event_horizon.cc +++ b/matrix/dbs_event_horizon.cc @@ -78,11 +78,8 @@ ircd::m::dbs::desc::event_horizon__pfx const ircd::db::descriptor ircd::m::dbs::desc::event_horizon { - // name - "_event_horizon", - - // explanation - R"(Unresolved references in the reverse reference graph of events. + .name = "_event_horizon", + .explain = R"(Unresolved references in the reverse reference graph of events. event_id | event_idx => -- @@ -101,49 +98,20 @@ ircd::m::dbs::desc::event_horizon )", - // typing (key, value) + .type = { typeid(string_view), typeid(string_view) }, - // options - {}, - - // comparator - {}, - - // prefix transform - event_horizon__pfx, - - // drop column - false, - - // cache size - bool(cache_enable)? -1 : 0, //uses conf item - - // cache size for compressed assets - bool(cache_comp_enable)? -1 : 0, - - // bloom filter bits - 0, - - // expect queries hit - false, - - // block size - size_t(event_horizon__block__size), - - // meta_block size - size_t(event_horizon__meta_block__size), - - // compression - string_view{event_horizon__comp}, - - // compactor - {}, - - // compaction priority algorithm - "kOldestSmallestSeqFirst"s, + .prefix = event_horizon__pfx, + .cache_size = bool(cache_enable)? -1 : 0, //uses conf item + .cache_size_comp = bool(cache_comp_enable)? -1 : 0, + .bloom_bits = 0, + .expect_queries_hit = false, + .block_size = size_t(event_horizon__block__size), + .meta_block_size = size_t(event_horizon__meta_block__size), + .compression = string_view{event_horizon__comp}, + .compaction_pri = "kOldestSmallestSeqFirst"s, }; // diff --git a/matrix/dbs_event_idx.cc b/matrix/dbs_event_idx.cc index 714895215..9a747bb5d 100644 --- a/matrix/dbs_event_idx.cc +++ b/matrix/dbs_event_idx.cc @@ -68,11 +68,8 @@ ircd::m::dbs::desc::event_idx__bloom__bits decltype(ircd::m::dbs::desc::event_idx) ircd::m::dbs::desc::event_idx { - // name - "_event_idx", - - // explanation - R"(Maps matrix event_id strings into internal index numbers. + .name = "_event_idx", + .explain = R"(Maps matrix event_id strings into internal index numbers. event_id => event_idx @@ -89,49 +86,19 @@ ircd::m::dbs::desc::event_idx )", - // typing (key, value) + .type = { typeid(string_view), typeid(uint64_t) }, - // options - {}, - - // comparator - {}, - - // prefix transform - {}, - - // drop column - false, - - // cache size - bool(cache_enable)? -1 : 0, //uses conf item - - // cache size for compressed assets - bool(cache_comp_enable)? -1 : 0, - - // bloom filter bits - size_t(event_idx__bloom__bits), - - // expect queries hit - false, - - // block size - size_t(event_idx__block__size), - - // meta_block size - size_t(event_idx__meta_block__size), - - // compression - string_view{event_idx__comp}, - - // compactor - {}, - - // compaction priority algorithm - "kOldestSmallestSeqFirst"s, + .cache_size = bool(cache_enable)? -1 : 0, //uses conf item + .cache_size_comp = bool(cache_comp_enable)? -1 : 0, + .bloom_bits = size_t(event_idx__bloom__bits), + .expect_queries_hit = false, + .block_size = size_t(event_idx__block__size), + .meta_block_size = size_t(event_idx__meta_block__size), + .compression = string_view{event_idx__comp}, + .compaction_pri = "kOldestSmallestSeqFirst"s, }; // diff --git a/matrix/dbs_event_json.cc b/matrix/dbs_event_json.cc index a64bb8985..1062a5f43 100644 --- a/matrix/dbs_event_json.cc +++ b/matrix/dbs_event_json.cc @@ -75,65 +75,27 @@ ircd::m::dbs::desc::event_json__file__size__max const ircd::db::descriptor ircd::m::dbs::desc::event_json { - // name - "_event_json", - - // explanation - R"(Full JSON object of an event. + .name = "_event_json", + .explain = R"(Full JSON object of an event. event_idx => event_json )", - // typing (key, value) + .type = { typeid(uint64_t), typeid(string_view) }, - // options - {}, - - // comparator - {}, - - // prefix transform - {}, - - // drop column - false, - - // cache size - bool(cache_enable)? -1 : 0, //uses conf item - - // cache size for compressed assets - bool(cache_comp_enable)? -1 : 0, - - // bloom filter bits - size_t(event_json__bloom__bits), - - // expect queries hit - true, - - // block size - size_t(event_json__block__size), - - // meta_block size - size_t(event_json__meta_block__size), - - // compression - string_view{event_json__comp}, - - // compactor - {}, - - // compaction priority algorithm - "Universal"s, - - // target_file_size - { - size_t(event_json__file__size__max), // base - 1L, // multiplier - }, + .cache_size = bool(cache_enable)? -1 : 0, + .cache_size_comp = bool(cache_comp_enable)? -1 : 0, + .bloom_bits = size_t(event_json__bloom__bits), + .expect_queries_hit = true, + .block_size = size_t(event_json__block__size), + .meta_block_size = size_t(event_json__meta_block__size), + .compression = string_view{event_json__comp}, + .compaction_pri = "Universal"s, + .target_file_size = { size_t(event_json__file__size__max), 1L, }, }; // diff --git a/matrix/dbs_event_refs.cc b/matrix/dbs_event_refs.cc index d828b7b2d..6c5c0e5d9 100644 --- a/matrix/dbs_event_refs.cc +++ b/matrix/dbs_event_refs.cc @@ -107,11 +107,8 @@ ircd::m::dbs::desc::event_refs__cmp const ircd::db::descriptor ircd::m::dbs::desc::event_refs { - // name - "_event_refs", - - // explanation - R"(Inverse reference graph of events. + .name = "_event_refs", + .explain = R"(Inverse reference graph of events. event_idx | ref, event_idx => -- @@ -132,49 +129,21 @@ ircd::m::dbs::desc::event_refs )", - // typing (key, value) + .type = { typeid(uint64_t), typeid(string_view) }, - // options - {}, - - // comparator - event_refs__cmp, - - // prefix transform - event_refs__pfx, - - // drop column - false, - - // cache size - bool(cache_enable)? -1 : 0, //uses conf item - - // cache size for compressed assets - bool(cache_comp_enable)? -1 : 0, - - // bloom filter bits - 0, - - // expect queries hit - true, - - // block size - size_t(event_refs__block__size), - - // meta_block size - size_t(event_refs__meta_block__size), - - // compression - string_view{event_refs__comp}, - - // compactor - {}, - - // compaction priority algorithm - "kOldestSmallestSeqFirst"s, + .cmp = event_refs__cmp, + .prefix = event_refs__pfx, + .cache_size = bool(cache_enable)? -1 : 0, //uses conf item + .cache_size_comp = bool(cache_comp_enable)? -1 : 0, + .bloom_bits = 0, + .expect_queries_hit = true, + .block_size = size_t(event_refs__block__size), + .meta_block_size = size_t(event_refs__meta_block__size), + .compression = string_view{event_refs__comp}, + .compaction_pri = "kOldestSmallestSeqFirst"s, }; // diff --git a/matrix/dbs_event_sender.cc b/matrix/dbs_event_sender.cc index 875127a94..9da81076b 100644 --- a/matrix/dbs_event_sender.cc +++ b/matrix/dbs_event_sender.cc @@ -89,10 +89,8 @@ const ircd::db::descriptor ircd::m::dbs::desc::event_sender { // name - "_event_sender", - - // explanation - R"(Index of senders to their events. + .name = "_event_sender", + .explain = R"(Index of senders to their events. mxid | event_idx => -- origin | localpart, event_idx => -- @@ -113,49 +111,20 @@ ircd::m::dbs::desc::event_sender of an event. Only the "sender" data is used here. )", - // typing (key, value) + .type = { typeid(string_view), typeid(string_view) }, - // options - {}, - - // comparator - {}, - - // prefix transform - event_sender__pfx, - - // drop column - false, - - // cache size - bool(cache_enable)? -1 : 0, //uses conf item - - // cache size for compressed assets - bool(cache_comp_enable)? -1 : 0, - - // bloom filter bits - 0, - - // expect queries hit - false, - - // block size - size_t(event_sender__block__size), - - // meta_block size - size_t(event_sender__meta_block__size), - - // compression - string_view{event_sender__comp}, - - // compactor - {}, - - // compaction priority algorithm - "kOldestSmallestSeqFirst"s, + .prefix = event_sender__pfx, + .cache_size = bool(cache_enable)? -1 : 0, //uses conf item + .cache_size_comp = bool(cache_comp_enable)? -1 : 0, + .bloom_bits = 0, + .expect_queries_hit = false, + .block_size = size_t(event_sender__block__size), + .meta_block_size = size_t(event_sender__meta_block__size), + .compression = string_view{event_sender__comp}, + .compaction_pri = "kOldestSmallestSeqFirst"s, }; // diff --git a/matrix/dbs_event_state.cc b/matrix/dbs_event_state.cc index 1abc8e4a8..341128284 100644 --- a/matrix/dbs_event_state.cc +++ b/matrix/dbs_event_state.cc @@ -74,11 +74,8 @@ ircd::m::dbs::desc::event_state__cmp const ircd::db::descriptor ircd::m::dbs::desc::event_state { - // name - "_event_state", - - // explanation - R"(Index of states of events. + .name = "_event_state", + .explain = R"(Index of states of events. state_key, type, room_id, depth, event_idx => -- @@ -87,49 +84,20 @@ ircd::m::dbs::desc::event_state )", - // typing (key, value) + .type = { typeid(string_view), typeid(string_view) }, - // options - {}, - - // comparator - event_state__cmp, - - // prefix transform - {}, - - // drop column - false, - - // cache size - bool(cache_enable)? -1 : 0, //uses conf item - - // cache size for compressed assets - bool(cache_comp_enable)? -1 : 0, - - // bloom filter bits - 0, - - // expect queries hit - false, - - // block size - size_t(event_state__block__size), - - // meta_block size - size_t(event_state__meta_block__size), - - // compression - string_view{event_state__comp}, - - // compactor - {}, - - // compaction priority algorithm - "kOldestSmallestSeqFirst"s, + .cmp = event_state__cmp, + .cache_size = bool(cache_enable)? -1 : 0, //uses conf item + .cache_size_comp = bool(cache_comp_enable)? -1 : 0, + .bloom_bits = 0, + .expect_queries_hit = false, + .block_size = size_t(event_state__block__size), + .meta_block_size = size_t(event_state__meta_block__size), + .compression = string_view{event_state__comp}, + .compaction_pri = "kOldestSmallestSeqFirst"s, }; // diff --git a/matrix/dbs_event_type.cc b/matrix/dbs_event_type.cc index 3b2b602c9..52f5a18b6 100644 --- a/matrix/dbs_event_type.cc +++ b/matrix/dbs_event_type.cc @@ -77,11 +77,8 @@ ircd::m::dbs::desc::event_type__pfx const ircd::db::descriptor ircd::m::dbs::desc::event_type { - // name - "_event_type", - - // explanation - R"(Index of types of events. + .name = "_event_type", + .explain = R"(Index of types of events. type | event_idx => -- @@ -90,49 +87,20 @@ ircd::m::dbs::desc::event_type )", - // typing (key, value) + .type = { typeid(string_view), typeid(string_view) }, - // options - {}, - - // comparator - {}, - - // prefix transform - event_type__pfx, - - // drop column - false, - - // cache size - bool(cache_enable)? -1 : 0, //uses conf item - - // cache size for compressed assets - bool(cache_comp_enable)? -1 : 0, - - // bloom filter bits - 0, - - // expect queries hit - false, - - // block size - size_t(event_type__block__size), - - // meta_block size - size_t(event_type__meta_block__size), - - // compression - string_view{event_type__comp}, - - // compactor - {}, - - // compaction priority algorithm - "kOldestSmallestSeqFirst"s, + .prefix = event_type__pfx, + .cache_size = bool(cache_enable)? -1 : 0, //uses conf item + .cache_size_comp = bool(cache_comp_enable)? -1 : 0, + .bloom_bits = 0, + .expect_queries_hit = false, + .block_size = size_t(event_type__block__size), + .meta_block_size = size_t(event_type__meta_block__size), + .compression = string_view{event_type__comp}, + .compaction_pri = "kOldestSmallestSeqFirst"s, }; //