Vala+GDA: An experiment

I’m working on GNOME Data Access, now on its GTK+ library, specially on its Browser, a GTK+ application more as a demo than a real database access tool.

GDA’s Browser, spots notable features in GDA’s non-GUI library. For example, support to create a single connection binding for two or more connections to different databases and from different providers (SQLite, PostgreSQL, MySQL), so you can create a single query and get a table result combining data from different sources. More details in another post.

The Experiment

Browser is getting back to life, but in the process I found crashes here and there. Fix them requires to walk around the code, found lots of opportunities to port it to new available technics to define GObject/GInterface API. Do that work may it’s too much work for a single man.

So, What about to use Vala to produce C code faster in order to rewrite existing or new objects?

This experiment, will be for 7.0 development cycle. For next 6.0 release, I would like to fix bugs as far as possible.

This experiment may help to answer another question: Is possible to port Vala code to C in order to be accepted by upstream projects like GXml’s DOM4 API to GLib?

Author: despinosa

Linux and GNOME user, full time, since 2001. Actual maintainer of GXml and contributor to other projects mainly on GObject Introspection support.

3 thoughts on “Vala+GDA: An experiment”

    1. For non GUI applications like Valum, this is great for. There are a web server in GDA, so is important.

      Please test Vala bindings, I’ll do so soon, to check they are in a good shape.

      1. Good to know that. At least for WEB aplications I think is in a very good state, because most operations go for running and getting results from queries, other features are not as interested. For Desktop applications, it need some work for simultáneos connection to SQLite, but that should not be an issue for PostgreSQL, for example.

        Thanks for testing Vala bindings.

Leave a Reply

Your email address will not be published. Required fields are marked *