nostrdb: debug: improve tag index display
Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
committed by
Daniel D’Aquino
parent
bca3716e33
commit
3171959d85
@@ -5598,7 +5598,7 @@ void ndb_config_set_ingest_filter(struct ndb_config *config,
|
|||||||
config->filter_context = filter_ctx;
|
config->filter_context = filter_ctx;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ndb_print_tag_keys(struct ndb_txn *txn)
|
int ndb_print_tag_index(struct ndb_txn *txn)
|
||||||
{
|
{
|
||||||
MDB_cursor *cur;
|
MDB_cursor *cur;
|
||||||
MDB_val k, v;
|
MDB_val k, v;
|
||||||
@@ -5609,10 +5609,8 @@ int ndb_print_tag_keys(struct ndb_txn *txn)
|
|||||||
|
|
||||||
i = 1;
|
i = 1;
|
||||||
while (mdb_cursor_get(cur, &k, &v, MDB_NEXT) == 0) {
|
while (mdb_cursor_get(cur, &k, &v, MDB_NEXT) == 0) {
|
||||||
printf("%d note_tags '%.*s' %" PRIu64 "\n",
|
printf("%d ", i);
|
||||||
i, (int)k.mv_size-8, (const char *)k.mv_data,
|
print_tag_kv(txn, &k, &v);
|
||||||
*(uint64_t*)(k.mv_data+(k.mv_size-8)));
|
|
||||||
|
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
#include "hex.h"
|
||||||
|
#include "lmdb.h"
|
||||||
|
|
||||||
static void ndb_print_text_search_key(struct ndb_text_search_key *key)
|
static void ndb_print_text_search_key(struct ndb_text_search_key *key)
|
||||||
{
|
{
|
||||||
@@ -14,6 +16,32 @@ static void print_hex(unsigned char* data, size_t size) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void print_tag_kv(struct ndb_txn *txn, MDB_val *k, MDB_val *v)
|
||||||
|
{
|
||||||
|
char hex_id[65];
|
||||||
|
struct ndb_note *note;
|
||||||
|
uint64_t ts;
|
||||||
|
|
||||||
|
ts = *(uint64_t*)(k->mv_data+(k->mv_size-8));
|
||||||
|
|
||||||
|
// TODO: p tags, etc
|
||||||
|
if (((const char*)k->mv_data)[0] == 'e' && k->mv_size == (1 + 32 + 8)) {
|
||||||
|
printf("note_tags 'e");
|
||||||
|
print_hex(k->mv_data+1, 32);
|
||||||
|
printf("' %" PRIu64, ts);
|
||||||
|
} else {
|
||||||
|
printf("note_tags '%.*s' %" PRIu64, (int)k->mv_size-8,
|
||||||
|
(const char *)k->mv_data, ts);
|
||||||
|
}
|
||||||
|
|
||||||
|
ts = *(uint64_t*)v->mv_data;
|
||||||
|
|
||||||
|
note = ndb_get_note_by_key(txn, ts, NULL);
|
||||||
|
assert(note);
|
||||||
|
hex_encode(ndb_note_id(note), 32, hex_id);
|
||||||
|
printf(" note_key:%" PRIu64 " id:%s\n", ts, hex_id);
|
||||||
|
}
|
||||||
|
|
||||||
static void print_hex_stream(FILE *stream, unsigned char* data, size_t size) {
|
static void print_hex_stream(FILE *stream, unsigned char* data, size_t size) {
|
||||||
size_t i;
|
size_t i;
|
||||||
for (i = 0; i < size; i++) {
|
for (i = 0; i < size; i++) {
|
||||||
|
|||||||
Reference in New Issue
Block a user