Вала и настольный диван готовы?

Я начал писать rss reader на Vala, но я не знаю, какую систему баз данных мне использовать, я не могу подключиться к couchdb, и sqlite работает нормально, но я хотел бы использовать couchdb из-за ubuntu. У меня есть natty с последними обновлениями

public CouchDB.Session session;
    public CouchDB.Database db;
    public string feed_table = "feed";
    public string item_table = "item";
    public struct field {
        string name;
        string val;
    }

    // constructor
    public Database() {
    try {
    this.session = new CouchDB.Session();
     } catch (Error e) {
           stderr.printf ("%s a\n", e.message);
        }

    try {

         this.db = new CouchDB.Database (this.session, "test");
         } catch (Error e) {
           stderr.printf ("%s a\n", e.message);
        }

        try {
        this.session.get_database_info("test");
        } catch (Error e) {
           stderr.printf ("%s aa\n", e.message);
        }

         try {
          var newdoc = new CouchDB.Document ();
        newdoc.set_boolean_field ("awesome", true);
        newdoc.set_string_field ("phone", "555-VALA");
        newdoc.set_double_field ("pi", 3.14159);
        newdoc.set_int_field ("meaning_of_life", 42);
        this.db.put_document (newdoc);    // store document
        } catch (Error e) {
        stderr.printf ("%s aaa\n", e.message);
        } 

отчетов

$ ./xml_parser rss.xmlCannot connect to destination (127.0.0.1) aa
Cannot connect to destination (127.0.0.1) aaa
3
задан 17 January 2011 в 13:04

1 ответ

С точки зрения производительности, я просто хотел бы сказать, что CouchDB, возможно, не самое быстрое решение по сравнению с чем-то более зрелым, как SQLite. Сравнение gwibber ставит SQLite как просто в 10 раз быстрее .

Учитывая, что читатель RSS делает намного больше SELECT, чем INSERT, это то, что вам нужно знать, потому что это повлияет на отзывчивость вашего приложения.


С точки зрения вашего кода, сравнивая его с «официальным» образцом Vala + Couch , вы не передаете детали соединения, поэтому мне интересно, есть ли проблема с механизм автоопределения. Couch запускается на другом порту каждый раз, когда запускается, но его текущий порт можно получить через dbus :

dbus-send --session --print-reply --dest=org.desktopcouch.CouchDB / org.desktopcouch.CouchDB.getPortmethod return sender=:1.231 -> dest=:1.230 reply_serial=2

. Я не знаю, Vala для этого, но выяснить вручную поможет вам установить первоначальное соединение.

0
ответ дан 17 January 2011 в 13:04

Другие вопросы по тегам:

Похожие вопросы: