mirror of
https://github.com/matrix-construct/construct
synced 2024-11-25 16:22:35 +01:00
ircd:Ⓜ️:db: Additional debug for txn contents.
This commit is contained in:
parent
a8cd30157e
commit
a7b6001d49
2 changed files with 40 additions and 6 deletions
|
@ -25,7 +25,7 @@ namespace ircd::db
|
|||
bool for_each(database &d, const uint64_t &seq, const seq_closure_bool &);
|
||||
void for_each(database &d, const uint64_t &seq, const seq_closure &);
|
||||
void get(database &d, const uint64_t &seq, const seq_closure &);
|
||||
string_view debug(const mutable_buffer &out, const txn &);
|
||||
string_view debug(const mutable_buffer &out, const txn &, const ulong &fmt = 0);
|
||||
}
|
||||
|
||||
struct ircd::db::txn
|
||||
|
|
42
ircd/db.cc
42
ircd/db.cc
|
@ -4657,10 +4657,43 @@ ircd::db::for_each(database &d,
|
|||
|
||||
ircd::string_view
|
||||
ircd::db::debug(const mutable_buffer &buf,
|
||||
const txn &t)
|
||||
const txn &t,
|
||||
const ulong &fmt)
|
||||
{
|
||||
size_t len(0);
|
||||
|
||||
if(fmt >= 0)
|
||||
{
|
||||
const rocksdb::WriteBatch &wb(t);
|
||||
return db::debug(buf, wb);
|
||||
len += size(db::debug(buf, wb));
|
||||
}
|
||||
|
||||
if(fmt == 1)
|
||||
{
|
||||
for_each(t, [&buf, &len]
|
||||
(const delta &d)
|
||||
{
|
||||
char pbuf[2][64];
|
||||
len += copy(buf + len, '\n');
|
||||
len += fmt::sprintf
|
||||
{
|
||||
buf + len, "%18s %-12s | [%s...] %-20s => [%s...] %-20s",
|
||||
std::get<delta::COL>(d),
|
||||
reflect(std::get<delta::OP>(d)),
|
||||
"????????"_sv, //std::get<d.KEY>(d),
|
||||
pretty(pbuf[0], iec(size(std::get<delta::KEY>(d)))),
|
||||
"????????"_sv, //std::get<d.VAL>(d),
|
||||
pretty(pbuf[1], iec(size(std::get<delta::VAL>(d)))),
|
||||
};
|
||||
});
|
||||
|
||||
len += copy(buf + len, '\n');
|
||||
}
|
||||
|
||||
return string_view
|
||||
{
|
||||
data(buf), len
|
||||
};
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -8008,12 +8041,13 @@ ircd::string_view
|
|||
ircd::db::debug(const mutable_buffer &buf,
|
||||
const rocksdb::WriteBatch &batch)
|
||||
{
|
||||
char pbuf[48] {0};
|
||||
const auto len(snprintf
|
||||
(
|
||||
data(buf), size(buf),
|
||||
"%d deltas; size:%zuB %s+%s+%s+%s+%s+%s+%s+%s+%s"
|
||||
"%d deltas; %s %s+%s+%s+%s+%s+%s+%s+%s+%s"
|
||||
,batch.Count()
|
||||
,batch.GetDataSize()
|
||||
,pretty(pbuf, iec(batch.GetDataSize())).data()
|
||||
,batch.HasPut()? "PUT": ""
|
||||
,batch.HasDelete()? "DEL": ""
|
||||
,batch.HasSingleDelete()? "SDL": ""
|
||||
|
|
Loading…
Reference in a new issue