mirror of
https://github.com/matrix-construct/construct
synced 2024-09-20 15:38:53 +02:00
ircd:Ⓜ️:dbs: Rename room_space to room_state_space.
This commit is contained in:
parent
614b9202fc
commit
758a266b1b
5 changed files with 124 additions and 124 deletions
|
@ -54,7 +54,7 @@ namespace ircd::m::dbs::appendix
|
||||||
#include "room_events.h" // room_id | depth, event_idx => node_id
|
#include "room_events.h" // room_id | depth, event_idx => node_id
|
||||||
#include "room_joined.h" // room_id | origin, member => event_idx
|
#include "room_joined.h" // room_id | origin, member => event_idx
|
||||||
#include "room_state.h" // room_id | type, state_key => event_idx
|
#include "room_state.h" // room_id | type, state_key => event_idx
|
||||||
#include "room_space.h" // room_id | type, state_key, depth, event_idx
|
#include "room_state_space.h" // room_id | type, state_key, depth, event_idx
|
||||||
#include "state_node.h" // node_id => (m::state::node JSON)
|
#include "state_node.h" // node_id => (m::state::node JSON)
|
||||||
|
|
||||||
/// Options that affect the dbs::write() of an event to the transaction.
|
/// Options that affect the dbs::write() of an event to the transaction.
|
||||||
|
@ -208,7 +208,7 @@ enum ircd::m::dbs::appendix::index
|
||||||
ROOM_STATE,
|
ROOM_STATE,
|
||||||
|
|
||||||
/// Involves room_space (all states) table.
|
/// Involves room_space (all states) table.
|
||||||
ROOM_SPACE,
|
ROOM_STATE_SPACE,
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ircd::m::dbs::init
|
struct ircd::m::dbs::init
|
||||||
|
@ -220,7 +220,7 @@ struct ircd::m::dbs::init
|
||||||
// Internal interface; not for public. (TODO: renamespace)
|
// Internal interface; not for public. (TODO: renamespace)
|
||||||
namespace ircd::m::dbs
|
namespace ircd::m::dbs
|
||||||
{
|
{
|
||||||
void _index__room_space(db::txn &, const event &, const write_opts &);
|
void _index__room_state_space(db::txn &, const event &, const write_opts &);
|
||||||
void _index__room_state(db::txn &, const event &, const write_opts &);
|
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_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_joined(db::txn &, const event &, const write_opts &);
|
||||||
|
|
|
@ -1,46 +0,0 @@
|
||||||
// Matrix Construct
|
|
||||||
//
|
|
||||||
// Copyright (C) Matrix Construct Developers, Authors & Contributors
|
|
||||||
// Copyright (C) 2016-2019 Jason Volk <jason@zemos.net>
|
|
||||||
//
|
|
||||||
// Permission to use, copy, modify, and/or distribute this software for any
|
|
||||||
// purpose with or without fee is hereby granted, provided that the above
|
|
||||||
// copyright notice and this permission notice is present in all copies. The
|
|
||||||
// full license for this software is available in the LICENSE file.
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
#define HAVE_IRCD_M_DBS_ROOM_SPACE_H
|
|
||||||
|
|
||||||
namespace ircd::m::dbs
|
|
||||||
{
|
|
||||||
using room_space_key_parts = std::tuple<string_view, string_view, int64_t, event::idx>;
|
|
||||||
|
|
||||||
constexpr size_t ROOM_SPACE_KEY_MAX_SIZE
|
|
||||||
{
|
|
||||||
id::MAX_SIZE +
|
|
||||||
event::TYPE_MAX_SIZE +
|
|
||||||
event::STATE_KEY_MAX_SIZE +
|
|
||||||
sizeof(int64_t) +
|
|
||||||
sizeof(event::idx)
|
|
||||||
};
|
|
||||||
|
|
||||||
string_view room_space_key(const mutable_buffer &out, const id::room &, const string_view &type, const string_view &state_key, const int64_t &depth, const event::idx & = 0);
|
|
||||||
string_view room_space_key(const mutable_buffer &out, const id::room &, const string_view &type, const string_view &state_key);
|
|
||||||
string_view room_space_key(const mutable_buffer &out, const id::room &, const string_view &type);
|
|
||||||
room_space_key_parts room_space_key(const string_view &amalgam);
|
|
||||||
|
|
||||||
// room_id | type, state_key, depth, event_idx => --
|
|
||||||
extern db::index room_space;
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace ircd::m::dbs::desc
|
|
||||||
{
|
|
||||||
extern conf::item<size_t> events__room_space__block__size;
|
|
||||||
extern conf::item<size_t> events__room_space__meta_block__size;
|
|
||||||
extern conf::item<size_t> events__room_space__cache__size;
|
|
||||||
extern conf::item<size_t> events__room_space__cache_comp__size;
|
|
||||||
extern conf::item<size_t> events__room_space__bloom__bits;
|
|
||||||
extern const db::prefix_transform events__room_space__pfx;
|
|
||||||
extern const db::comparator events__room_space__cmp;
|
|
||||||
extern const db::descriptor events__room_space;
|
|
||||||
}
|
|
46
include/ircd/m/dbs/room_state_space.h
Normal file
46
include/ircd/m/dbs/room_state_space.h
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
// Matrix Construct
|
||||||
|
//
|
||||||
|
// Copyright (C) Matrix Construct Developers, Authors & Contributors
|
||||||
|
// Copyright (C) 2016-2019 Jason Volk <jason@zemos.net>
|
||||||
|
//
|
||||||
|
// Permission to use, copy, modify, and/or distribute this software for any
|
||||||
|
// purpose with or without fee is hereby granted, provided that the above
|
||||||
|
// copyright notice and this permission notice is present in all copies. The
|
||||||
|
// full license for this software is available in the LICENSE file.
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
#define HAVE_IRCD_M_DBS_ROOM_STATE_SPACE_H
|
||||||
|
|
||||||
|
namespace ircd::m::dbs
|
||||||
|
{
|
||||||
|
using room_state_space_key_parts = std::tuple<string_view, string_view, int64_t, event::idx>;
|
||||||
|
|
||||||
|
constexpr size_t ROOM_STATE_SPACE_KEY_MAX_SIZE
|
||||||
|
{
|
||||||
|
id::MAX_SIZE +
|
||||||
|
event::TYPE_MAX_SIZE +
|
||||||
|
event::STATE_KEY_MAX_SIZE +
|
||||||
|
sizeof(int64_t) +
|
||||||
|
sizeof(event::idx)
|
||||||
|
};
|
||||||
|
|
||||||
|
string_view room_state_space_key(const mutable_buffer &out, const id::room &, const string_view &type, const string_view &state_key, const int64_t &depth, const event::idx & = 0);
|
||||||
|
string_view room_state_space_key(const mutable_buffer &out, const id::room &, const string_view &type, const string_view &state_key);
|
||||||
|
string_view room_state_space_key(const mutable_buffer &out, const id::room &, const string_view &type);
|
||||||
|
room_state_space_key_parts room_state_space_key(const string_view &amalgam);
|
||||||
|
|
||||||
|
// room_id | type, state_key, depth, event_idx => --
|
||||||
|
extern db::index room_state_space;
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace ircd::m::dbs::desc
|
||||||
|
{
|
||||||
|
extern conf::item<size_t> events__room_state_space__block__size;
|
||||||
|
extern conf::item<size_t> events__room_state_space__meta_block__size;
|
||||||
|
extern conf::item<size_t> events__room_state_space__cache__size;
|
||||||
|
extern conf::item<size_t> events__room_state_space__cache_comp__size;
|
||||||
|
extern conf::item<size_t> events__room_state_space__bloom__bits;
|
||||||
|
extern const db::prefix_transform events__room_state_space__pfx;
|
||||||
|
extern const db::comparator events__room_state_space__cmp;
|
||||||
|
extern const db::descriptor events__room_state_space;
|
||||||
|
}
|
102
ircd/m_dbs.cc
102
ircd/m_dbs.cc
|
@ -71,9 +71,9 @@ decltype(ircd::m::dbs::room_state)
|
||||||
ircd::m::dbs::room_state
|
ircd::m::dbs::room_state
|
||||||
{};
|
{};
|
||||||
|
|
||||||
/// Linkage for a reference to the room_space column
|
/// Linkage for a reference to the room_state_space column
|
||||||
decltype(ircd::m::dbs::room_space)
|
decltype(ircd::m::dbs::room_state_space)
|
||||||
ircd::m::dbs::room_space
|
ircd::m::dbs::room_state_space
|
||||||
{};
|
{};
|
||||||
|
|
||||||
/// Linkage for a reference to the state_node column.
|
/// Linkage for a reference to the state_node column.
|
||||||
|
@ -167,7 +167,7 @@ ircd::m::dbs::init::init(std::string dbopts)
|
||||||
room_events = db::index{*events, desc::events__room_events.name};
|
room_events = db::index{*events, desc::events__room_events.name};
|
||||||
room_joined = db::index{*events, desc::events__room_joined.name};
|
room_joined = db::index{*events, desc::events__room_joined.name};
|
||||||
room_state = db::index{*events, desc::events__room_state.name};
|
room_state = db::index{*events, desc::events__room_state.name};
|
||||||
room_space = db::index{*events, desc::events__room_space.name};
|
room_state_space = db::index{*events, desc::events__room_state_space.name};
|
||||||
state_node = db::column{*events, desc::events__state_node.name};
|
state_node = db::column{*events, desc::events__state_node.name};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1053,8 +1053,8 @@ try
|
||||||
if(opts.appendix.test(appendix::ROOM_STATE))
|
if(opts.appendix.test(appendix::ROOM_STATE))
|
||||||
_index__room_state(txn, event, opts);
|
_index__room_state(txn, event, opts);
|
||||||
|
|
||||||
if(opts.appendix.test(appendix::ROOM_SPACE))
|
if(opts.appendix.test(appendix::ROOM_STATE_SPACE))
|
||||||
_index__room_space(txn, event, opts);
|
_index__room_state_space(txn, event, opts);
|
||||||
|
|
||||||
return new_root;
|
return new_root;
|
||||||
}
|
}
|
||||||
|
@ -1332,22 +1332,22 @@ ircd::m::dbs::_index__room_state(db::txn &txn,
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
ircd::m::dbs::_index__room_space(db::txn &txn,
|
ircd::m::dbs::_index__room_state_space(db::txn &txn,
|
||||||
const event &event,
|
const event &event,
|
||||||
const write_opts &opts)
|
const write_opts &opts)
|
||||||
{
|
{
|
||||||
assert(opts.appendix.test(appendix::ROOM_SPACE));
|
assert(opts.appendix.test(appendix::ROOM_STATE_SPACE));
|
||||||
|
|
||||||
const ctx::critical_assertion ca;
|
const ctx::critical_assertion ca;
|
||||||
thread_local char buf[ROOM_SPACE_KEY_MAX_SIZE];
|
thread_local char buf[ROOM_STATE_SPACE_KEY_MAX_SIZE];
|
||||||
const string_view &key
|
const string_view &key
|
||||||
{
|
{
|
||||||
room_space_key(buf, at<"room_id"_>(event), at<"type"_>(event), at<"state_key"_>(event), at<"depth"_>(event), opts.event_idx)
|
room_state_space_key(buf, at<"room_id"_>(event), at<"type"_>(event), at<"state_key"_>(event), at<"depth"_>(event), opts.event_idx)
|
||||||
};
|
};
|
||||||
|
|
||||||
db::txn::append
|
db::txn::append
|
||||||
{
|
{
|
||||||
txn, room_space,
|
txn, room_state_space,
|
||||||
{
|
{
|
||||||
opts.op, key, string_view{}
|
opts.op, key, string_view{}
|
||||||
}
|
}
|
||||||
|
@ -3143,72 +3143,72 @@ ircd::m::dbs::desc::events__room_state
|
||||||
// room all states sequential
|
// room all states sequential
|
||||||
//
|
//
|
||||||
|
|
||||||
decltype(ircd::m::dbs::desc::events__room_space__block__size)
|
decltype(ircd::m::dbs::desc::events__room_state_space__block__size)
|
||||||
ircd::m::dbs::desc::events__room_space__block__size
|
ircd::m::dbs::desc::events__room_state_space__block__size
|
||||||
{
|
{
|
||||||
{ "name", "ircd.m.dbs.events._room_space.block.size" },
|
{ "name", "ircd.m.dbs.events._room_state_space.block.size" },
|
||||||
{ "default", 512L },
|
{ "default", 512L },
|
||||||
};
|
};
|
||||||
|
|
||||||
decltype(ircd::m::dbs::desc::events__room_space__meta_block__size)
|
decltype(ircd::m::dbs::desc::events__room_state_space__meta_block__size)
|
||||||
ircd::m::dbs::desc::events__room_space__meta_block__size
|
ircd::m::dbs::desc::events__room_state_space__meta_block__size
|
||||||
{
|
{
|
||||||
{ "name", "ircd.m.dbs.events._room_space.meta_block.size" },
|
{ "name", "ircd.m.dbs.events._room_state_space.meta_block.size" },
|
||||||
{ "default", 8192L },
|
{ "default", 8192L },
|
||||||
};
|
};
|
||||||
|
|
||||||
decltype(ircd::m::dbs::desc::events__room_space__cache__size)
|
decltype(ircd::m::dbs::desc::events__room_state_space__cache__size)
|
||||||
ircd::m::dbs::desc::events__room_space__cache__size
|
ircd::m::dbs::desc::events__room_state_space__cache__size
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
{ "name", "ircd.m.dbs.events._room_space.cache.size" },
|
{ "name", "ircd.m.dbs.events._room_state_space.cache.size" },
|
||||||
{ "default", long(16_MiB) },
|
{ "default", long(16_MiB) },
|
||||||
}, []
|
}, []
|
||||||
{
|
{
|
||||||
const size_t &value{events__room_space__cache__size};
|
const size_t &value{events__room_state_space__cache__size};
|
||||||
db::capacity(db::cache(room_space), value);
|
db::capacity(db::cache(room_state_space), value);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
decltype(ircd::m::dbs::desc::events__room_space__cache_comp__size)
|
decltype(ircd::m::dbs::desc::events__room_state_space__cache_comp__size)
|
||||||
ircd::m::dbs::desc::events__room_space__cache_comp__size
|
ircd::m::dbs::desc::events__room_state_space__cache_comp__size
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
{ "name", "ircd.m.dbs.events._room_space.cache_comp.size" },
|
{ "name", "ircd.m.dbs.events._room_state_space.cache_comp.size" },
|
||||||
{ "default", long(8_MiB) },
|
{ "default", long(8_MiB) },
|
||||||
}, []
|
}, []
|
||||||
{
|
{
|
||||||
const size_t &value{events__room_space__cache_comp__size};
|
const size_t &value{events__room_state_space__cache_comp__size};
|
||||||
db::capacity(db::cache_compressed(room_space), value);
|
db::capacity(db::cache_compressed(room_state_space), value);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
decltype(ircd::m::dbs::desc::events__room_space__bloom__bits)
|
decltype(ircd::m::dbs::desc::events__room_state_space__bloom__bits)
|
||||||
ircd::m::dbs::desc::events__room_space__bloom__bits
|
ircd::m::dbs::desc::events__room_state_space__bloom__bits
|
||||||
{
|
{
|
||||||
{ "name", "ircd.m.dbs.events._room_space.bloom.bits" },
|
{ "name", "ircd.m.dbs.events._room_state_space.bloom.bits" },
|
||||||
{ "default", 10L },
|
{ "default", 10L },
|
||||||
};
|
};
|
||||||
|
|
||||||
ircd::string_view
|
ircd::string_view
|
||||||
ircd::m::dbs::room_space_key(const mutable_buffer &out_,
|
ircd::m::dbs::room_state_space_key(const mutable_buffer &out_,
|
||||||
const id::room &room_id,
|
const id::room &room_id,
|
||||||
const string_view &type)
|
const string_view &type)
|
||||||
{
|
{
|
||||||
return room_space_key(out_, room_id, type, string_view{}, 0L);
|
return room_state_space_key(out_, room_id, type, string_view{});
|
||||||
}
|
}
|
||||||
|
|
||||||
ircd::string_view
|
ircd::string_view
|
||||||
ircd::m::dbs::room_space_key(const mutable_buffer &out_,
|
ircd::m::dbs::room_state_space_key(const mutable_buffer &out_,
|
||||||
const id::room &room_id,
|
const id::room &room_id,
|
||||||
const string_view &type,
|
const string_view &type,
|
||||||
const string_view &state_key)
|
const string_view &state_key)
|
||||||
{
|
{
|
||||||
return room_space_key(out_, room_id, type, string_view{}, 0L);
|
return room_state_space_key(out_, room_id, type, state_key, -1L);
|
||||||
}
|
}
|
||||||
|
|
||||||
ircd::string_view
|
ircd::string_view
|
||||||
ircd::m::dbs::room_space_key(const mutable_buffer &out_,
|
ircd::m::dbs::room_state_space_key(const mutable_buffer &out_,
|
||||||
const id::room &room_id,
|
const id::room &room_id,
|
||||||
const string_view &type,
|
const string_view &type,
|
||||||
const string_view &state_key,
|
const string_view &state_key,
|
||||||
|
@ -3249,8 +3249,8 @@ ircd::m::dbs::room_space_key(const mutable_buffer &out_,
|
||||||
return { data(out_), data(out) };
|
return { data(out_), data(out) };
|
||||||
}
|
}
|
||||||
|
|
||||||
ircd::m::dbs::room_space_key_parts
|
ircd::m::dbs::room_state_space_key_parts
|
||||||
ircd::m::dbs::room_space_key(const string_view &amalgam)
|
ircd::m::dbs::room_state_space_key(const string_view &amalgam)
|
||||||
{
|
{
|
||||||
const auto &key
|
const auto &key
|
||||||
{
|
{
|
||||||
|
@ -3298,9 +3298,9 @@ ircd::m::dbs::room_space_key(const string_view &amalgam)
|
||||||
}
|
}
|
||||||
|
|
||||||
const ircd::db::prefix_transform
|
const ircd::db::prefix_transform
|
||||||
ircd::m::dbs::desc::events__room_space__pfx
|
ircd::m::dbs::desc::events__room_state_space__pfx
|
||||||
{
|
{
|
||||||
"_room_space",
|
"_room_state_space",
|
||||||
[](const string_view &key)
|
[](const string_view &key)
|
||||||
{
|
{
|
||||||
return has(key, "\0"_sv);
|
return has(key, "\0"_sv);
|
||||||
|
@ -3313,16 +3313,16 @@ ircd::m::dbs::desc::events__room_space__pfx
|
||||||
};
|
};
|
||||||
|
|
||||||
const ircd::db::comparator
|
const ircd::db::comparator
|
||||||
ircd::m::dbs::desc::events__room_space__cmp
|
ircd::m::dbs::desc::events__room_state_space__cmp
|
||||||
{
|
{
|
||||||
"_room_space",
|
"_room_state_space",
|
||||||
|
|
||||||
// less
|
// less
|
||||||
[](const string_view &a, const string_view &b)
|
[](const string_view &a, const string_view &b)
|
||||||
{
|
{
|
||||||
static const auto &pt
|
static const auto &pt
|
||||||
{
|
{
|
||||||
events__room_space__pfx
|
events__room_state_space__pfx
|
||||||
};
|
};
|
||||||
|
|
||||||
const string_view pre[2]
|
const string_view pre[2]
|
||||||
|
@ -3352,8 +3352,8 @@ ircd::m::dbs::desc::events__room_space__cmp
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Perform standard comparison over the typed tuple.
|
// Perform standard comparison over the typed tuple.
|
||||||
const auto _a(room_space_key(post[0]));
|
const auto _a(room_state_space_key(post[0]));
|
||||||
const auto _b(room_space_key(post[1]));
|
const auto _b(room_state_space_key(post[1]));
|
||||||
return _a < _b;
|
return _a < _b;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -3365,10 +3365,10 @@ ircd::m::dbs::desc::events__room_space__cmp
|
||||||
};
|
};
|
||||||
|
|
||||||
const ircd::db::descriptor
|
const ircd::db::descriptor
|
||||||
ircd::m::dbs::desc::events__room_space
|
ircd::m::dbs::desc::events__room_state_space
|
||||||
{
|
{
|
||||||
// name
|
// name
|
||||||
"_room_space",
|
"_room_state_space",
|
||||||
|
|
||||||
// explanation
|
// explanation
|
||||||
R"(All states of the room.
|
R"(All states of the room.
|
||||||
|
@ -3387,7 +3387,7 @@ ircd::m::dbs::desc::events__room_space
|
||||||
{},
|
{},
|
||||||
|
|
||||||
// prefix transform
|
// prefix transform
|
||||||
events__room_space__pfx,
|
events__room_state_space__pfx,
|
||||||
|
|
||||||
// drop column
|
// drop column
|
||||||
false,
|
false,
|
||||||
|
@ -3399,16 +3399,16 @@ ircd::m::dbs::desc::events__room_space
|
||||||
bool(events_cache_comp_enable)? -1 : 0,
|
bool(events_cache_comp_enable)? -1 : 0,
|
||||||
|
|
||||||
// bloom filter bits
|
// bloom filter bits
|
||||||
size_t(events__room_space__bloom__bits),
|
size_t(events__room_state_space__bloom__bits),
|
||||||
|
|
||||||
// expect queries hit
|
// expect queries hit
|
||||||
false,
|
false,
|
||||||
|
|
||||||
// block size
|
// block size
|
||||||
size_t(events__room_space__block__size),
|
size_t(events__room_state_space__block__size),
|
||||||
|
|
||||||
// meta_block size
|
// meta_block size
|
||||||
size_t(events__room_space__meta_block__size),
|
size_t(events__room_state_space__meta_block__size),
|
||||||
};
|
};
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -4867,7 +4867,7 @@ ircd::m::dbs::desc::events
|
||||||
|
|
||||||
// (room_id, (type, state_key, depth, event_idx))
|
// (room_id, (type, state_key, depth, event_idx))
|
||||||
// Sequence of all states of the room.
|
// Sequence of all states of the room.
|
||||||
events__room_space,
|
events__room_state_space,
|
||||||
|
|
||||||
// (state tree node id) => (state tree node)
|
// (state tree node id) => (state tree node)
|
||||||
// Mapping of state tree node id to node data.
|
// Mapping of state tree node id to node data.
|
||||||
|
|
|
@ -2897,14 +2897,14 @@ const
|
||||||
{
|
{
|
||||||
auto it
|
auto it
|
||||||
{
|
{
|
||||||
dbs::room_space.begin(room.room_id)
|
dbs::room_state_space.begin(room.room_id)
|
||||||
};
|
};
|
||||||
|
|
||||||
for(; it; ++it)
|
for(; it; ++it)
|
||||||
{
|
{
|
||||||
const auto &key
|
const auto &key
|
||||||
{
|
{
|
||||||
dbs::room_space_key(it->first)
|
dbs::room_state_space_key(it->first)
|
||||||
};
|
};
|
||||||
|
|
||||||
if(!closure(std::get<0>(key), std::get<1>(key), std::get<2>(key), std::get<3>(key)))
|
if(!closure(std::get<0>(key), std::get<1>(key), std::get<2>(key), std::get<3>(key)))
|
||||||
|
@ -2938,22 +2938,22 @@ ircd::m::room::state::space::for_each(const string_view &type,
|
||||||
const closure &closure)
|
const closure &closure)
|
||||||
const
|
const
|
||||||
{
|
{
|
||||||
char buf[dbs::ROOM_SPACE_KEY_MAX_SIZE];
|
char buf[dbs::ROOM_STATE_SPACE_KEY_MAX_SIZE];
|
||||||
const string_view &key
|
const string_view &key
|
||||||
{
|
{
|
||||||
dbs::room_space_key(buf, room.room_id, type, state_key, depth)
|
dbs::room_state_space_key(buf, room.room_id, type, state_key, depth)
|
||||||
};
|
};
|
||||||
|
|
||||||
auto it
|
auto it
|
||||||
{
|
{
|
||||||
dbs::room_space.begin(key)
|
dbs::room_state_space.begin(key)
|
||||||
};
|
};
|
||||||
|
|
||||||
for(; it; ++it)
|
for(; it; ++it)
|
||||||
{
|
{
|
||||||
const auto &key
|
const auto &key
|
||||||
{
|
{
|
||||||
dbs::room_space_key(it->first)
|
dbs::room_state_space_key(it->first)
|
||||||
};
|
};
|
||||||
|
|
||||||
if(type && std::get<0>(key) != type)
|
if(type && std::get<0>(key) != type)
|
||||||
|
@ -2993,7 +2993,7 @@ ircd::m::room::state::space::rebuild::rebuild()
|
||||||
wopts.appendix.reset();
|
wopts.appendix.reset();
|
||||||
wopts.appendix.set(dbs::appendix::ROOM);
|
wopts.appendix.set(dbs::appendix::ROOM);
|
||||||
wopts.appendix.set(dbs::appendix::STATE);
|
wopts.appendix.set(dbs::appendix::STATE);
|
||||||
wopts.appendix.set(dbs::appendix::ROOM_SPACE);
|
wopts.appendix.set(dbs::appendix::ROOM_STATE_SPACE);
|
||||||
|
|
||||||
event::fetch event;
|
event::fetch event;
|
||||||
for(auto it(column.begin()); it; ++it) try
|
for(auto it(column.begin()); it; ++it) try
|
||||||
|
|
Loading…
Reference in a new issue