As the first step on CouchDB desktop integration, here’s version 0.1 of couchdb-glib, a GLib-based API to talk to CouchDB.
This initial version only allows reading and does all operations synchronously (not a problem in most cases, since the communication is done to the local CouchDB instance, which is quite quick, at least from what my tests show so far). Next releases will have all the missing functionality.
And, well, no screenshots to show, so here’s some example code for you to enjoy.
Source code is in GNOME GIT, under couchdb-glib module.
Hoy me entero que existe eso de CouchDB por una entrada en Planet Gnome y al rato apareces tu dando soporte para su uso con glib. ¡ qué velocidad !
Bueno, ya estaba trabajando en el tema desde hace una semana o así, pero si, parece que lo hemos hecho coordinado 😀
Obviously moving to asynchronous calls would be a good idea, but seems like you figured that already. When using complex views you can really bring the speed of couchdb down. But it doesn’t really matter since using disk isn’t predictable and thats why it needs to be async.
You might like my async library for doing that fairly quick, http://git.dronelabs.com/iris.
Also, I noticed the list_documents() method actually fetches all of the documents for linked-list iteration. It would probably be better for large data-sets if it worked more like GHashTableIter.
// maybe something like
couchdb_doc_iter_init (&iter);
while (couchdb_doc_iter_next (&iter, &key, &value)) { }
This would have the added benefit of retrieving the value as well if &value is non-null.
Anyway, just my .02$