X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=xapian-dump.cc;h=0ab5e32c7cb6f4f1810a07ec026e903f0bc38a26;hp=6d1fc1be6150863155b52b81123b1c6b905de5ed;hb=26795d64e6150b543d850c1e882a9d1395b58d9e;hpb=287ffc828d565ae812bbb6bcae076e17e6c7098f;ds=sidebyside diff --git a/xapian-dump.cc b/xapian-dump.cc index 6d1fc1be..0ab5e32c 100644 --- a/xapian-dump.cc +++ b/xapian-dump.cc @@ -1,4 +1,5 @@ -/* +/* xapian-dump: Dump all document IDs from a Xapian database + * * Copyright © 2009 Carl Worth * * This program is free software: you can redistribute it and/or modify @@ -18,17 +19,41 @@ */ #include +#include #include +using namespace std; + int main (int argc, char *argv[]) { + const char *database_path; + if (argc < 2) { fprintf (stderr, "Usage: %s \n", argv[0]); exit (1); } + database_path = argv[1]; + + try { + + Xapian::Database db; + Xapian::PostingIterator i; + Xapian::docid doc_id; + + db = Xapian::Database (database_path); + for (i = db.postlist_begin (""); i != db.postlist_end (""); i++) { + doc_id = *i; + printf ("Found document %u\n", doc_id); + } + + } catch (const Xapian::Error &error) { + cerr << "A Xapian exception occurred: " << error.get_msg () << endl; + exit (1); + } + return 0; }