From dd04a50743dbaed86ada7c622f021cc26d2ca79a Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Sat, 5 May 2018 18:54:02 -0700 Subject: [PATCH] ircd::m::dbs: Expose the internal indexer interface. --- include/ircd/m/dbs.h | 12 ++++++++++++ ircd/m/dbs.cc | 17 +++++++---------- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/include/ircd/m/dbs.h b/include/ircd/m/dbs.h index c908de28e..a557153e4 100644 --- a/include/ircd/m/dbs.h +++ b/include/ircd/m/dbs.h @@ -140,6 +140,18 @@ namespace ircd::m::dbs::desc extern const database::descriptor events__state_node; } +// Internal interface; not for public. +namespace ircd::m::dbs +{ + void _index__room_state(db::txn &, const event &, const write_opts &); + void _index__room_events(db::txn &, const event &, const write_opts &, const string_view &); + void _index__room_joined(db::txn &, const event &, const write_opts &); + void _index__room_head(db::txn &, const event &, const write_opts &); + string_view _index_state(db::txn &, const event &, const write_opts &); + string_view _index_redact(db::txn &, const event &, const write_opts &); + string_view _index_ephem(db::txn &, const event &, const write_opts &); +} + struct ircd::m::dbs::init { init(std::string dbopts = {}); diff --git a/ircd/m/dbs.cc b/ircd/m/dbs.cc index b99d29caf..7c9b403b3 100644 --- a/ircd/m/dbs.cc +++ b/ircd/m/dbs.cc @@ -98,16 +98,9 @@ noexcept events = {}; } -namespace ircd::m::dbs -{ - static void _index__room_state(db::txn &, const event &, const write_opts &); - static void _index__room_events(db::txn &, const event &, const write_opts &, const string_view &); - static void _index__room_joined(db::txn &, const event &, const write_opts &); - static void _index__room_head(db::txn &, const event &, const write_opts &); - static string_view _index_state(db::txn &, const event &, const write_opts &); - static string_view _index_redact(db::txn &, const event &, const write_opts &); - static string_view _index_ephem(db::txn &, const event &, const write_opts &); -} +// +// Basic write suite +// void ircd::m::dbs::blacklist(db::txn &txn, @@ -165,6 +158,10 @@ ircd::m::dbs::write(db::txn &txn, return _index_ephem(txn, event, opts); } +// +// Internal interface +// + ircd::string_view ircd::m::dbs::_index_ephem(db::txn &txn, const event &event,